Programmieren in C

Datenstrukturen in C
Stacks

Du kennst dich jetzt bestens mit Datenstrukturen aus – aber was sind denn Stacks nun wieder? Das ist garnicht so schwer zu verstehen, wir erklären es dir in diesem Beitrag!

Stacks als befüllbare Stapelspeicher

Der Stack ist genau, was der Name schon vermuten lässt: Ein Stapel. Du kannst ihn dir vorstellen wie einen Stapel Boxen, der auf einen LKW verladen werden soll. Im Moment liegen deine Boxen noch im Lager und sind leer. Nun müssen wir aber noch unsere Ware darin verpacken und sie dann verladen.

Stacks
Die leeren Stacks müssen befüllt werden

Funktion nach dem LIFO-Prinzip

Dazu schaffen wir sie erst einmal auf eine Palette und stapeln sie dort. Dieser Stapel ist der Stack und unsere Kartons sind die Funktionen unseres Programms. Immer, wenn wir nun eine Kiste auf die andere stapeln, verlieren wir den Zugriff zur vorherigen und können erst wieder auf diese zugreifen, wenn wir die darauf liegende herunternehmen. Diesen Umstand nennt man das Last-in-First-Out Prinzip.

Stacks
Der Zugriff auf Stacks erfolgt nach dem LIFO-Prinzip

Stacks Optionen

Auf unsere Kartons bezogen haben wir, sobald sie auf unserem Stapel liegen, also folgende Optionen:

push, bei der wir eine neue Kiste oben auflegen, pop, bei der wir die oberste Kiste befüllen und verladen und top, bei der wir nur überprüfen, ob die oberste Kiste bereits befüllt ist.

Stacks
Stack Optionen

Auf unsere C-Programme übertragen heißt das also: Wer zuletzt kommt, malt zuerst! Die Funktion, die als letztes aufgerufen wurde, wird zuerst abgearbeitet, eventuell deren Rückgabewert zurückgegeben und dann „gelöscht“. Erst dann wird die zuvor aufgerufene Funktion verarbeitet.

Organisieren von Werten mithilfe von Stacks

Stacks verwalten aber nicht nur Funktionen. Du kannst in C auch Werte auf diese Weise organisieren. Du kannst einen Stack nämlich recht simpel als einfach verkettete Liste oder als dynamisches Array verwirklichen.

Als Letztes solltest du noch eines wissen: Manche Professoren verwenden für diese Strukturen auch gern einmal den alten, deutschen Fachbegriff. Dann kennst du diese Struktur unter dem Namen: Kellerspeicher.

Jetzt weißt du wie du Werte mithilfe von Stacks organisieren kannst und welche Operationen es gibt.

Hallo, leider nutzt du einen AdBlocker.

Auf Studyflix bieten wir dir kostenlos hochwertige Bildung an. Dies können wir nur durch die Unterstützung unserer Werbepartner tun.

Schalte bitte deinen Adblocker für Studyflix aus oder füge uns zu deinen Ausnahmen hinzu. Das tut dir nicht weh und hilft uns weiter.

Danke!
Dein Studyflix-Team

Wenn du nicht weißt, wie du deinen Adblocker deaktivierst oder Studyflix zu den Ausnahmen hinzufügst, findest du hier eine kurze Anleitung.