MINT üben

Das Prinzip Stapel

Dreißig Übungen zum Stapel — von push und pop bis zu Rückgängig und Wiederholen.

Dein Fortschritt:
0 / 0 Aufgaben
1

Übungsaufgaben

Dreißig interaktive Übungen zum Klicken, Ziehen und Knobeln — von AFB I bis AFB III. Jede Übung gibt dir sofort Rückmeldung.

A1
Wo steckt LIFO?
AFB I

Welche Beispiele funktionieren nach dem Prinzip „Last In – First Out“?

Mehrere Antworten sind richtig. Markiere alle zutreffenden und klicke dann auf „Prüfen“.
Beim Wartezimmer kommt die kleinste Nummer zuerst dran — das ist FIFO, also eine Schlange. Bei der Sackgasse fährt das zuletzt eingefahrene Auto zuerst hinaus.
A2
Wie gut passt ein Stapel?
AFB I

Ein Stapel arbeitet nach dem LIFO-Prinzip. Gib für jede Situation an, wie gut ein Stapel sie beschreibt (1 = passt gar nicht, 5 = passt genau). Eine Stufe Abweichung ist erlaubt.

Wähle für jede Zeile die Stufe von 1 bis 5. Mit der Tastatur: Tab zur Zeile, ←/→ zwischen den Stufen, Enter setzt.
1 = passt gar nicht5 = passt genau
Eine Kiste wird nur von oben gefüllt und nur von oben geleert.
Ein Drucker arbeitet die Aufträge in der Reihenfolge ihres Eintreffens ab.
Bei verschachtelten Klammern wird die zuletzt geöffnete Klammer als erste wieder geschlossen.
Bei einer Playlist wird jeder Titel über seine Nummer direkt angesprungen.
Zeitungen werden täglich oben auf einen Haufen gelegt; gelesen wird zuerst die neueste.
Ein Stapel passt, wenn nur das oberste Element erreichbar ist und das zuletzt Hinzugekommene zuerst wieder herausgeht: Kiste, Klammern und Zeitungshaufen. Der Drucker folgt der Reihenfolge des Eintreffens (FIFO), die Playlist erlaubt direkten Zugriff über die Nummer, also gerade keinen Stapel.
Frage dich bei jeder Situation: Kommt das zuletzt Hinzugekommene als Erstes wieder heraus, und ist nur das oberste Element erreichbar?
Bei der Reihenfolge des Eintreffens (Drucker) und beim Zugriff über eine Nummer (Playlist) fehlt die LIFO-Eigenschaft.
A3
Zwei pop in einem Ausdruck
AFB III

Der Stapel s enthält von unten nach oben die Zahlen 1, 5 und 3. Dann läuft die Anweisung s.push(s.pop() - s.pop());

Formuliere das Ergebnis, indem du den Lückentext ergänzt. Vier Wörter bleiben übrig.

Wort anklicken, dann Lücke anklicken (oder umgekehrt) — mit Tab und Enter geht es genauso. Ein Klick auf eine gefüllte Lücke legt das Wort zurück.

Danach enthält der Stapel Elemente. Das oberste ist , darunter liegt . Der Grund: Der linke Aufruf s.pop() wird ausgewertet und liefert , der rechte liefert danach die 5.

Links steht das erste pop(): Es entnimmt die 3. Das zweite pop() entnimmt die 5, gerechnet wird also 3 − 5 = −2 (nicht 5 − 3). Die −2 wird auf die 1 gelegt; es sind zwei Elemente.
Ein Ausdruck wird von links nach rechts ausgewertet: Welcher der beiden pop-Aufrufe kommt zuerst dran?
Das erste pop() liefert die 3 (oben), das zweite die 5. Gerechnet wird 3 − 5; das Ergebnis wird auf die 1 gelegt.