MINT lernen

Das Prinzip Stapel

Warum springt „Rückgängig“ immer zum letzten Schritt zurück? Weil dahinter ein Stapel steckt.

1

Zuletzt hinein, zuerst heraus

Bei einem Tellerstapel legt man oben auf und nimmt oben weg. An die unteren Teller kommt man erst, wenn die oberen weg sind.

  • Stapel (Stack):Datenstruktur, bei der nur das oberste Element erreichbar ist.
  • LIFO:„Last In – First Out“: Was zuletzt hineinkam, kommt zuerst heraus.
  • Im Alltag:Rückgängig-Funktion im Editor, Zurück-Knopf im Browser, Aufrufstapel beim Programmieren.
  • Kein Index:Anders als bei der dynamischen Reihung gibt es keinen Zugriff auf Element Nummer 3.

Ziehe Karten aus dem Vorrat auf den Stapel und vom Stapel in die Ausgabe. Mit der Tastatur: Karte ansteuern und Enter drücken. Versuche auch, eine untere Karte herauszuziehen.

Stapel zum Anfassen

Halte fest: Nur das oberste Element ist erreichbar. Die Ausgabe erscheint in umgekehrter Reihenfolge der Eingabe.

2

Die Operationen des Stapels

Die Klasse Stack bietet im Abitur vier Operationen und den Konstruktor.

  • Stack()erzeugt einen leeren Stapel.
  • push(x)legt x oben auf den Stapel.
  • pop()nimmt das oberste Element weg und liefert seinen Inhalt.
  • top()liefert den Inhalt des obersten Elements — es bleibt liegen.
  • isEmpty()liefert true, wenn der Stapel leer ist.
Stack<String> verlauf = new Stack<String>();
verlauf.push("start.html");
verlauf.push("news.html");
verlauf.push("sport.html");
String zurueck = verlauf.pop();   // "sport.html" — ist jetzt weg
String jetzt = verlauf.top();     // "news.html"  — bleibt liegen
Merke

Stapel: LIFO — push legt oben auf, pop nimmt oben weg.

3

Allgemeine Hinweise

Leerer Stapel

pop() und top() auf einem leeren Stapel führen zu einem Laufzeitfehler. Vorher mit isEmpty() prüfen.

pop oder top?

pop() entnimmt, top() schaut nur nach. Wer zweimal top() aufruft, bekommt zweimal dasselbe Element.

Stapel zeichnen

Senkrecht zeichnen, oben offen. Bei jedem push einen Kasten darauf, bei jedem pop den obersten durchstreichen und den Rückgabewert daneben notieren.

Videos