---
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()$
