Zurück! Die Rückgängig Funktion

Wer kennt das nicht, einmal die Katze über die Tastatur gerannt und schon ist das Bild komplett im Eimer:

Wir alle wissen, was da hilft: STRG+Z - Rückgängig!

Welches Prinzip steckt hinter dieser Funktion? Das Programm speichert zunächst alle Arbeitsschritte - es stapelt Sie einfach aufeinander:

Mit der Funktion "Rückgängig" kann man die letzte Anweisung zurücknehmen. Woher weiß das Programm, was die letzte Anweisung war? Ganz einfach, das war stets die Anweisung die ganz oben auf dem Stapel der Anweisungen liegt.

Um die Anweisung rückgängig zu machen, wird sie einfach vom Stapel heruntergenommen, eine neue Anweisung wird stets oben auf den Stapel gelegt. Wenn mehrerer Arbeitsschritte zurückgenommen werden sollen, werden diese nacheinander oben vom Stapel genommen - bis dieser leer ist, dann kann nichts mehr rückgängig gemacht werden.

Eine solche lineare Datenstruktur heißt Stapel:

Weiter zur Implementation >>>

Material

FilenameFilesizeLast modified
img_20210404_151748.jpg228.0 KiB06.10.2021 16:44
stack.odp2.2 MiB06.10.2021 18:42
stack.pdf508.8 KiB06.10.2021 18:42
stack_gimp.png58.9 KiB06.10.2021 16:50