#ifndef STACK_H #define STACK_H #include /* * 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