Stack
Man versteht unter dem Begriff in der Informatik ein Stapel- oder Kellerspeicher. In der Regel wird er mit Stack oder Keller abgekürzt.
Der Stack ist eine spezielle und häufig eingesetzte Datenstruktur und wird meist direkt von den Mikroprozessoren in der Hardware unterstützt.
Entdeckt wurde der Stapelspeicher 1957 von Klaus Samelson und Friedrich Ludwig Bauer, die es unter dem Namen "Kellerprinzip" patentieren ließen. Zur exakt selben Zeit, unabhängig von den beiden Entdeckern, kam auch ein australischer Philosoph namens Charles Hamblin auf die Idee der Verwendung eines Stapelspeichers zur Übersetzung von Programmiersprachen.
Das Funktionsprinzip
Einem Stack ist es möglich eine beliebige Menge an gleich langen Informationsstrukturen, auch Objekte genannt, aufzunehmen. Allerdings arbeitet ein Stapel nach dem Prinzip "Last In - First Out" und gibt deshalb die Objekte in der entgegengesetzten Reihenfolge der Aufnahme wieder zurück.
Ein Stack stellt dafür folgende Operationen:
Aus diesem Grund wird mit der Operation "pop", das letzte Objekt welches mit push hineingelegt wurde zurückgegeben.
Es lässt sich vergleichen mit dem Prinzip eines Bücherstapels.
Das Anwendungsgebiet des Stacks reicht von der Überprüfung auf die richtige Verschachtelung von einfachen Termen bis hin zu den Syntaxen, was oft der Fall bei XML-Dokumenten oder BB-Codes im Internet ist.