next up previous contents
Nächste Seite: Steuerung Aufwärts: Struktur Vorherige Seite: Register   Inhalt

Stack

Der Stack (dtsch.: Keller oder Stapel) ist ein Speicherbereich mit gewöhnlich zwei eingeschränkten Zugriffsoperationen. Die eine fügt stets ein Element an das Ende des Stacks an (Einfügen), die andere entfernt stets das letzte Element des Stacks und liefert es als Ergebnis (Ausfügen). Die Einfügeoperation nennt man push, die Ausfügeoperation pop. Ein Beispiel soll die Funktionsweise eines Stacks verdeutlichen (der Stack sei zu Beginn leer).

Operation Stack-Inhalt Ausgabe
- $ < >$ -
push (1) $<1>$ -
push (3) $<1,3>$ -
pop $<1>$ 3
push (2) $<1,2>$  
push (4) $<1,2,4>$ -
pop $<1,2>$ 4
pop $<1>$ 2

Das Prinzip, daß stets das zuletzt eingefügte Element eines Speichers als erstes wieder entfernt werden muß, bezeichnet man als LIFO-Prinzip (engl. last in first out). Man nennt daher einen Stack auch LIFO-Speicher. Es gibt stackbasierte Programmiersprachen (z.B. Forth) und (Taschen-) Rechner, die mit stackbasierten Operationen arbeiten (UPN -- Umgekehrt Polnische Notation, auch Postfix-Notation; erkennbar an der ENTER-Taste statt des Gleichheitszeichens).


next up previous contents
Nächste Seite: Steuerung Aufwärts: Struktur Vorherige Seite: Register   Inhalt
Lars Tornow 2003-04-02