Queue: Unterschied zwischen den Versionen
| (8 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 6: | Zeile 6: | ||
Bei der Warteschlange handelt es sich um eine dynamische Datenstruktur, was bedeutet, dass die Größe der Warteschlangen, beziehungsweise die Anzahl der in ihr enthaltenen Knoten, veränderbar ist. | Bei der Warteschlange handelt es sich um eine dynamische Datenstruktur, was bedeutet, dass die Größe der Warteschlangen, beziehungsweise die Anzahl der in ihr enthaltenen Knoten, veränderbar ist. | ||
| + | [[Bild:Queue.png|Darstellung einer Personen-Warteschlange]] | ||
==='''Generische Schlange - Methoden'''=== | ==='''Generische Schlange - Methoden'''=== | ||
| Zeile 19: | Zeile 20: | ||
1) Die Schlange ist leer oder | 1) Die Schlange ist leer oder | ||
2) Die Schlange enthält mindestens ein Element. | 2) Die Schlange enthält mindestens ein Element. | ||
| + | |||
| + | [[Bild:Enqueue.png|Methode zum Einfügen einer neuen Person in die Schlange]] | ||
== Dequeue == | == Dequeue == | ||
| Zeile 27: | Zeile 30: | ||
1) Die Schlange enthält mindestens zwei Elemente oder | 1) Die Schlange enthält mindestens zwei Elemente oder | ||
2) Die Schlange enthält nur ein Element (head und tail werden auf null gesestzt). | 2) Die Schlange enthält nur ein Element (head und tail werden auf null gesestzt). | ||
| + | |||
| + | [[Bild:Dequeue.png|Methode zum Entfernen einer Person aus der Schlange ]] | ||
| + | |||
== Front == | == Front == | ||
| Zeile 40: | Zeile 46: | ||
| − | == | + | == Beispiele == |
| − | [[Bild: | + | [[Bild:Verkehrskontrolle.png|Beschreibung]] |
==='''Literaturverzeichnis'''=== | ==='''Literaturverzeichnis'''=== | ||
Aktuelle Version vom 6. Dezember 2016, 13:14 Uhr
Inhaltsverzeichnis
Allgemein[Bearbeiten]
Eine Queue, auch Warteschlange genannt, wird häufig zur Verwaltung von Arbeitsaufträgen verwendet (z.B. Druckaufträge in einer Druckerwarteschlange). Warteschlangen arbeiten nach dem FIFO-Prinzip (First in, first out), was bedeutet, dass Aufträge, die der Warteschlange als erstes zugefügt werden, auch als erstes bearbeitet werden. Eine Warteschlange besteht aus einem "head", einem "tail" und aus den sogenannten "nodes" (Knoten). Objekte vom Typ "node" speichern jeweils einen Verweis auf die nächste "node" und auf ein beliebiges Inhaltsobjekt (content). "Head" verweist dabei auf den ersten Knoten in der Warteschlange, wohingegen "tail" auf den letzten Knoten der Warteschlange verweist. Somit entsteht eine klare Reihenfolge von beispielsweisen Druckaufträgen, die dann nach und nach abgearbeitet werden können. Bei der Warteschlange handelt es sich um eine dynamische Datenstruktur, was bedeutet, dass die Größe der Warteschlangen, beziehungsweise die Anzahl der in ihr enthaltenen Knoten, veränderbar ist.
Generische Schlange - Methoden[Bearbeiten]
Enqueue[Bearbeiten]
Mit der Methode enqueue kann man Elemente in die Schlange hinzufügen.
Bedingungen: 1) Die Schlange ist leer oder 2) Die Schlange enthält mindestens ein Element.
Dequeue[Bearbeiten]
Mit der Methode dequeue kann man Elemente der Schlange entfernen.
Bedingungen: 1) Die Schlange enthält mindestens zwei Elemente oder 2) Die Schlange enthält nur ein Element (head und tail werden auf null gesestzt).
Front[Bearbeiten]
Die Methode front gibt das erste Element aus.
isEmpty[Bearbeiten]
Die Methode isEmpty fragt ab, ob die Warteschlange leer ist.



