22 lines
638 B
C

#ifndef STACK_H
#define STACK_H
// Eigener Stack-Knotentyp, damit es keinen Konflikt mit bintree.h gibt
typedef struct stack_node {
void *data; // Nutzdaten
struct stack_node *next; // Zeiger auf das nächste Element im Stack
} StackNode;
// Legt ein Element oben auf den Stack
StackNode *push(StackNode *stack, void *data);
// Entfernt das oberste Element und gibt den neuen Stack-Kopf zurück
StackNode *pop(StackNode *stack);
// Liefert die Daten des obersten Elements (ohne zu entfernen)
void *top(StackNode *stack);
// Gibt den gesamten Stack frei
void clearStack(StackNode *stack);
#endif // STACK_H