Lässt es sich mit cremefarbenem Papier, einer Tönung, mehr Kontrast oder größerer Schrift besser lesen? Wählen Sie Ihre Farben und Ihre Schrift, einmalig für alle Seiten.

Kostenlose Lektion

Stapel und Schlange für die passende Aufgabe

Nach dieser Lektion: Ich kann für eine Aufgabe einen Stapel oder eine Schlange wählen.

Lektion, 45 Min.Keine Befehle

Rückgängig und der Drucker

Sie drücken in einem Textprogramm dreimal Rückgängig. Das Programm nimmt Ihre letzten Schritte zurück, den jüngsten zuerst.

Im Büro schicken zehn Personen Aufträge an einen Drucker. Er druckt sie in der Reihenfolge, in der sie ankamen.

Zwei Aufgaben, zwei Ordnungen. Dafür gibt es zwei Datenstrukturen.

Am Ende dieser Lektion

Notiz

Ich kann für eine Aufgabe einen Stapel oder eine Schlange wählen.

Schlüsselwörter

BegriffWas er bedeutetBeispiel
StapelEinträge, von denen der zuletzt abgelegte zuerst herauskommt
SchlangeEinträge, von denen der zuerst angekommene zuerst herauskommt
Pusheinen Eintrag oben auf den Stapel legenschritte.append("x")
Popden obersten Eintrag herausnehmenschritte.pop()
Enqueuesich hinten in die Schlange einreihen
Dequeueden vordersten Eintrag aus der Schlange nehmen

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Ein Stapel: zuletzt rein, zuerst raus

Denken Sie an einen Stapel Teller. Sie legen oben auf und nehmen oben ab. Der unterste Teller bleibt am längsten liegen.

Ein Stapel arbeitet genauso. Push legt oben auf, Pop nimmt oben ab. In Python nutzen Sie dafür append und pop() einer Liste.

Probieren Sie es: Rückgängig als Stapel

Code: python
# Ein Stapel: Rückgängig in einem Textprogramm.
schritte = []

schritte.append("Titel getippt")
schritte.append("Bild eingefügt")
schritte.append("Tabelle gelöscht")
print("Alle Schritte:", schritte)

letzter = schritte.pop()     # holt den obersten Schritt und entfernt ihn
print("Rückgängig:", letzter)
print("Übrig:", schritte)

# Drücken Sie Run, ändern Sie dann nichts, sondern rufen Sie pop() ein zweites Mal auf.

Beispiel: drei Schritte zurücknehmen

AktionStapel danach (oben rechts)Herausgenommen
Push "Titel getippt"Titel getippt-
Push "Bild eingefügt"Titel getippt, Bild eingefügt-
Push "Tabelle gelöscht"Titel getippt, Bild eingefügt, Tabelle gelöscht-
PopTitel getippt, Bild eingefügtTabelle gelöscht
PopTitel getipptBild eingefügt

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Eine Schlange: zuerst rein, zuerst raus

Eine Schlange kennen Sie von der Kasse. Wer zuerst kam, wird zuerst bedient. Neue Leute stellen sich hinten an.

Eine Schlange in einem Programm folgt dieser Regel. Enqueue reiht hinten ein, Dequeue nimmt vorn ab. Mit einer Python-Liste geht das über append und pop(0).

Probieren Sie es: Druckaufträge als Schlange

Code: python
# Eine Schlange: die Druckaufträge einer Abteilung.
auftraege = []

auftraege.append("Rechnung")
auftraege.append("Vertrag")
auftraege.append("Lieferschein")

dran = auftraege.pop(0)      # holt den vordersten Auftrag und entfernt ihn
print("Wird gedruckt:", dran)
print("Wartet noch:", auftraege)

# Lassen Sie jetzt auch den nächsten Auftrag drucken.

Ein häufiger Fehler

Warnung

Viele denken, Stapel und Schlange seien dasselbe, nur anders benannt. Der Unterschied liegt darin, von welcher Seite Sie abnehmen. Beim Stapel kommt der jüngste Eintrag zuerst heraus, bei der Schlange der älteste. Wählen Sie falsch, wird der falsche Auftrag zuerst gedruckt.

Welche Struktur für welche Aufgabe

AufgabeWer kommt zuerst dran?Struktur
Rückgängig im Programmder jüngste SchrittStapel
Seiten im Browser zurückgehendie zuletzt besuchte SeiteStapel
Druckaufträgeder älteste AuftragSchlange
Support-Tickets nach Eingangdas älteste TicketSchlange

Die Zellen, die Lernende ausfüllen, bleiben in dieser Vorschau leer.

Sie unterrichten eine Gruppe? Weisen Sie dieses Modul Ihren Studierenden zu, mit Handbuch für Lehrende, automatisch geprüften Aufgaben und einem Lab für jede Person.