DobleSpiel/stack.h
2025-12-03 13:25:27 +01:00

27 lines
684 B
C

#ifndef STACK_H
#define STACK_H
#include <stdlib.h>
/* * Der Stack wird hier als einfach verkettete Liste implementiert.
* Der "Stack"-Pointer zeigt immer auf das oberste Element (Head).
*/
typedef struct StackNode {
void *data;
struct StackNode *next;
} StackNode;
// Legt ein Element auf den Stack. Gibt den neuen Kopf des Stacks zurück.
StackNode *push(StackNode *stack, void *data);
// Entfernt das oberste Element. Gibt den neuen Kopf des Stacks zurück.
StackNode *pop(StackNode *stack);
// Gibt die Daten des obersten Elements zurück (ohne es zu entfernen).
void *top(StackNode *stack);
// Leert den Stack komplett.
void clearStack(StackNode *stack);
#endif