34 lines
568 B
Markdown
34 lines
568 B
Markdown
|
---
|
||
|
title: Datenstruktur Stack
|
||
|
date: 2018-11-14
|
||
|
---
|
||
|
|
||
|
**Beispiel**:
|
||
|
|
||
|
* Postkörbchen
|
||
|
* Programstack
|
||
|
|
||
|
|
||
|
**Idee**: Man kann Sachen oben auf den Stack legen und Sachen (wieder von oben)
|
||
|
vom Stack entfernen (LIFO).
|
||
|
|
||
|
# Definition (Stack)
|
||
|
|
||
|
Stack ist eine Datenstruktur für eine Menge $U$ mit folgenden Operationen:
|
||
|
|
||
|
i) Erzeugen eines leeren Stacks
|
||
|
|
||
|
$S \leftarrow new Stack()$
|
||
|
|
||
|
i) Einfügen eines Elements $u \in U$
|
||
|
|
||
|
$S.push(u)$
|
||
|
|
||
|
i) Entfernen der **zuletzt** eingefügten Elements vom Stack
|
||
|
|
||
|
$u \leftarrow S.pop()$
|
||
|
|
||
|
i) Testen, ob Stack leer ist
|
||
|
|
||
|
$S.isEmpty()$
|