MINT üben

Das Prinzip Schlange

Wer zuerst kommt, wird zuerst bedient — beim Drucker genauso wie an der Kasse. Das ist die Schlange.

1

Zuerst hinein, zuerst heraus

An der Supermarktkasse stellt man sich hinten an, bedient wird vorn. Niemand überholt, niemand wird vorgezogen.

  • Schlange (Queue):Datenstruktur mit zwei Enden: hinten wird angestellt, vorn entnommen.
  • FIFO:„First In – First Out“: Was zuerst hineinkam, kommt zuerst heraus.
  • Im Alltag:Druckaufträge, Tastaturpuffer, Warteschleife einer Hotline, Nachrichten an einen Server.
  • Queue()erzeugt eine leere Schlange.
  • enqueue(x)stellt x hinten an.
  • dequeue()entnimmt das vorderste Element und liefert seinen Inhalt.
  • head()liefert den Inhalt des vordersten Elements — es bleibt in der Schlange.
  • isEmpty()liefert true, wenn die Schlange leer ist.
Queue<String> drucker = new Queue<String>();
drucker.enqueue("Brief.pdf");
drucker.enqueue("Foto.jpg");
drucker.enqueue("Referat.docx");
String jetzt = drucker.dequeue();   // "Brief.pdf" — wird gedruckt
String naechster = drucker.head();  // "Foto.jpg"  — wartet weiter
Merke

Schlange: FIFO („First In – First Out“) — was zuerst hineinkam, kommt zuerst heraus; hinten wird angestellt, vorn entnommen.

Operationen: Queue() erzeugt eine leere Schlange, enqueue(x) stellt hinten an, dequeue() entnimmt das vorderste Element und liefert es.

Abfragen: head() liefert das vorderste Element, ohne es zu entnehmen; isEmpty() prüft auf leer.

2

Schlange und Stapel im Vergleich

Stapel und Schlange sehen fast gleich aus: hineinlegen, herausnehmen, nachsehen, leer prüfen. Der Unterschied steckt allein darin, welches Element herauskommt.

  • Stapel:kehrt die Reihenfolge um — das Neueste kommt zuerst.
  • Schlange:erhält die Reihenfolge — das Älteste kommt zuerst.
  • Gleichstand:Wird jedes Element sofort wieder entnommen, liefern beide dieselbe Ausgabe.

Wähle eine Folge und lass sie mit ▶ oder „Schritt“ ablaufen: Jedes „rein“ wird zu push und enqueue, jedes „raus“ zu pop und dequeue. Unten liegen beide Ausgaben übereinander.

Stapel und Schlange im Gleichschritt

Halte fest: Bei derselben Eingabefolge liefert der Stapel das zuletzt, die Schlange das zuerst eingefügte Element. Nur wenn nie zwei Elemente gleichzeitig warten, stimmen die Ausgaben überein.

Merke

Stapel: kehrt die Reihenfolge um — das Neueste kommt zuerst heraus (LIFO).

Schlange: erhält die Reihenfolge — das Älteste kommt zuerst heraus (FIFO).

Gleichstand: Wird jedes Element sofort wieder entnommen, liefern beide dieselbe Ausgabe.

3

Allgemeine Hinweise

Leere Schlange

dequeue() und head() auf einer leeren Schlange führen zu einem Laufzeitfehler — vorher isEmpty() prüfen.

head entnimmt nicht

head() schaut nur nach vorn. Erst dequeue() verkürzt die Schlange.

Schlange zeichnen

Waagerecht zeichnen, vorn links und hinten rechts beschriften. enqueue ergänzt rechts, dequeue streicht links.

Videos