1
Stapel und Schlange
- Stapel (Stack):
push(inhalt)legt oben auf,pop()entnimmt das oberste Element und gibt es zurück,top()liest es nur. - Schlange (Queue):
enqueue(inhalt)hängt hinten an,dequeue()entnimmt das vorderste und gibt es zurück,head()liest es nur. - Prinzip:Stapel: zuletzt hinein, zuerst heraus (LIFO). Schlange: zuerst hinein, zuerst heraus (FIFO).
- Leer?:
isEmpty()vor jedempop(),top(),dequeue(),head()abfragen — sonst droht ein Laufzeitfehler.
Lies die Befehlsfolge und sage für jede Rückgabe voraus, welcher Buchstabe herauskommt. Starte dann mit ▶ den Ablauf und vergleiche.
Halte fest: pop() liefert immer das zuletzt hineingelegte Element, dequeue() das am längsten wartende.
2
Die dynamische Reihung
- Dynamische Reihung:
DynArraymit Index ab 0:getItem(i),setItem(i, x),append(x),getLength(). - Einfügen:
insertAt(i, x)schiebt das Element an Position i und alle folgenden nach hinten. - Löschen:
delete(i)schiebt alle folgenden Elemente um eine Position nach vorn. - Durchlaufen:Zählschleife von 0 bis
getLength() − 1oder „für jedes Element aus …“. - Löschen in Schleifen:nach
delete(i)den Index nicht erhöhen — oder die Reihung von hinten durchlaufen.
Merke
Letzter Index: getLength() − 1
3
Allgemeine Hinweise
Lesen ist nicht Entnehmen
top() und head() lassen die Struktur unverändert. Nur pop() und dequeue() verkleinern sie.
Rückgabewert auffangen
pop() gibt den Inhalt zurück: x ← s.pop(). Wer den Wert braucht, muss ihn in einer Variablen speichern.
Zustände skizzieren
Bei Befehlsfolgen nach jeder Zeile den Stapel als Turm oder die Schlange als Reihe zeichnen — das ist schneller als Kopfrechnen.
