L3_2 Dynamische Datenstrukturen: Stapelspeicher (Stack) Informationsmaterial

Der Stapelspeicher ist eine dynamische Datenstruktur mit beliebiger Größe. Ein Stapelspeicher arbei-tet nach dem LIFO-Prinzip (=Last In First Out), d. h. die Daten die zuletzt hineingelegt (last in) wurden, werden als erstes herausgenommen (first out). Bei einem Stapelspeicher kann folglich immer nur auf das oberste Element zugegriffen werden. Einen Stapelspeicher kann man sich wie eine Kiste vorstel-len, in die man Elemente nur von oben hinzufügen bzw. herausnehmen kann.

Daten können mit Hilfe der Operation PUSH() in den Stapelspeicher gelegt werden. Die Operation POP() entnimmt das oberste Element.


Verwendung:

• Speicherung von Rücksprungadressen:
Beim Surfen im Internet kommt ein Stapelspeicher zum Einsatz. Die besuchten Adressen werden in einem Stapelspeicher abgelegt. Möchte man nun zu der vorherigen Seite zurück, wird das oberste Element aus dem Stack als Rücksprungadresse verwendet.
• Speicherung von Funktionsaufrufen:
Wenn innerhalb eines Programms ein Unterprogramm aufgerufen wird, kommt ebenfalls ein Stack zur Abarbeitung der Befehle zum Einsatz.