generated from freudenreichan/info2Praktikum-DobleSpiel
27 lines
684 B
C
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 |