MINT lernen

Datenstrukturen im Abitur

Wer zuletzt kommt, geht zuerst — oder doch der, der am längsten wartet? Die Datenstruktur entscheidet.

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 jedem pop(), 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.

Was kommt heraus?

    Halte fest: pop() liefert immer das zuletzt hineingelegte Element, dequeue() das am längsten wartende.

    2

    Die dynamische Reihung

    • Dynamische Reihung:DynArray mit 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() − 1 oder „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.

    Videos