#include #include #include #include "stack.h" void inspectStack(StackNode *stack) { if (stack != NULL) { printf("Der Stack enthält die folgenden Elemente: %d", *(int*)stack->value); while (stack->next != NULL) { printf(" %d", *(int*)stack->next->value); stack = stack->next; } putchar('\n'); } else { printf("Der Stack ist leer\n"); } } int main() { StackNode *stack; stack = NULL; // initialisierung mit NULL -> leere Liste printf("...ein Element wird eingefügt...\n"); int toBeRemoved = 42; stack = push(stack, &toBeRemoved); inspectStack(stack); printf("...das Element wird wieder entfernt...\n"); stack = pop(stack); inspectStack(stack); printf("...pop auf leeren Stack...\n"); stack = pop(stack); inspectStack(stack); putchar('\n'); int data[5] = {1, 2, 3, 4, 5}; // alle 5 werte der reihe nach auf den Satck legen - 1 unten ... 5 oben for (int i = 0; i < 5; i++) { stack = push(stack, &data[i]); } //alle Elemente mit Test-Funktion ausgeben inspectStack(stack); // Elemente stück für Stück ausgeben und entfernen printf("1. Element war: %d\n", *(int*)top(stack)); stack = pop(stack); printf("2. Element war: %d\n", *(int*)top(stack)); stack = pop(stack); printf("3. Element war: %d\n", *(int*)top(stack)); stack = pop(stack); printf("4. Element war: %d\n", *(int*)top(stack)); stack = pop(stack); printf("5. Element war: %d\n", *(int*)top(stack)); } /* int main() { UNITY_BEGIN(); printf("============================\n Stack tests\n============================\n"); RUN_TEST(test_createNodeFailsOnZeroData); return UNITY_END(); } */