Inhaltsverzeichnis:
Definition - Was bedeutet Stack?
Ein Stack ist eine konzeptionelle Struktur, die aus einer Reihe homogener Elemente besteht und auf dem Prinzip des LIFO (Last In First Out) basiert. Es ist ein häufig verwendeter abstrakter Datentyp mit zwei Hauptoperationen, nämlich Push und Pop. Push und Pop werden für das oberste Element ausgeführt, bei dem es sich um das zuletzt zum Stapel hinzugefügte Element handelt. Die Push-Operation fügt dem Stapel ein Element hinzu, während die Pop-Operation ein Element von der obersten Position entfernt. Das Stapelkonzept wird bei der Programmierung und Speicherorganisation in Computern verwendet.
Techopedia erklärt Stack
Ein Stapel repräsentiert eine Folge von Objekten oder Elementen in einem linearen Datenstrukturformat. Der Stapel besteht aus einem begrenzten Boden und alle Operationen werden in der oberen Position ausgeführt. Immer wenn ein Element durch die Push-Operation zum Stapel hinzugefügt wird, wird der oberste Wert um eins inkrementiert, und wenn ein Element aus dem Stapel herausspringt, wird der oberste Wert um eins dekrementiert. Ein Zeiger auf die oberste Position des Stapels wird auch als Stapelzeiger bezeichnet.
Ein Stapel kann eine feste Größe haben oder eine dynamische Implementierung haben, bei der sich die Größe ändern darf. Bei Stapeln mit begrenzter Kapazität führt der Versuch, einem bereits vollen Stapel ein Element hinzuzufügen, zu einer Stapelüberlauf-Ausnahme. In ähnlicher Weise wird ein Zustand, in dem eine Pop-Operation versucht, ein Element aus einem bereits leeren Stapel zu entfernen, als Unterlauf bezeichnet.
Ein Stapel wird als eingeschränkte Datenstruktur betrachtet, da nur eine begrenzte Anzahl von Operationen zulässig ist. Neben den Push- und Pop-Operationen können bestimmte Implementierungen erweiterte Operationen ermöglichen, z.
- Peek - Zeigt das oberste Element im Stapel an.
- Duplizieren - Kopieren Sie den Wert des obersten Elements in eine Variable und verschieben Sie ihn zurück in den Stapel.
- Tauschen - Tauschen Sie die beiden obersten Gegenstände im Stapel.
- Drehen - Bewegen Sie die obersten Elemente im Stapel wie durch eine Zahl angegeben oder drehen Sie sie.
Software-Implementierungen des Stack-Konzepts werden mithilfe von Arrays und verknüpften Listen durchgeführt, wobei die oberste Position mithilfe einer Variablen bzw. eines Header-Zeigers verfolgt wird. Viele Programmiersprachen bieten integrierte Funktionen zur Unterstützung der Stack-Implementierung.
Hardware-Stacks werden zum Zweck der Speicherzuweisung und des Zugriffs unter Verwendung eines festen Ursprungs und einer festen Größe implementiert. Stapelregister werden verwendet, um den Wert des Stapelzeigers zu speichern.
