implemented top & clearStack

This commit is contained in:
Niklas Kegelmann 2025-12-08 14:35:37 +01:00
parent 67b8200966
commit 5ba5396030

18
stack.c
View File

@ -26,7 +26,7 @@ StackNode *push(StackNode *stack, void *data)
// freed by caller.)
StackNode *pop(StackNode *stack)
{
// überprüfen ob stack einen wert besitzt data = wert next = node
// überprüfen ob stack einen wert besitzt
if (!stack)
return NULL;
//oberstes element raussuchen und dieses auf free setzen
@ -42,12 +42,22 @@ StackNode *pop(StackNode *stack)
void *top(StackNode *stack)
{
//funktions return ist oberstes stack element
if (!stack)
return NULL;
StackNode *next = stack->data;
return next;
}
// Clears stack and releases all memory.
void clearStack(StackNode *stack)
{
//überprüfen ob die malloc speicher enthält (also nicht free ist)
//komplett malloc auf free setzen
//stack returnen
while(stack != NULL)
{
StackNode *next = stack->next;
free(stack);
stack = next;
}
}