From ce66b2546e6d3a03690ba10a73efceba1f68d475 Mon Sep 17 00:00:00 2001 From: Harun Faizi Date: Thu, 11 Dec 2025 21:35:28 +0100 Subject: [PATCH] next ist jetzt nextNode --- .idea/editor.xml | 97 +++++++++++++++++++++++++++++++++++++++++++++++ .idea/misc.xml | 5 +++ stack.c | 10 ++--- stack.h | 4 +- test_stack.exe | Bin 42192 -> 42192 bytes 5 files changed, 109 insertions(+), 7 deletions(-) diff --git a/.idea/editor.xml b/.idea/editor.xml index ec90224..25c6c37 100644 --- a/.idea/editor.xml +++ b/.idea/editor.xml @@ -243,5 +243,102 @@ diff --git a/stack.c b/stack.c index 01224bc..f76e283 100644 --- a/stack.c +++ b/stack.c @@ -22,11 +22,11 @@ StackNode *push(StackNode *stack, void *data) // Neuer Knoten im Heap im Format StackNode --> newNode ist ein Zeiger darauf StackNode *newNode = malloc(sizeof(StackNode)); - // Speichert den Pointer den Fkt. bekommen hat in Datenfeld/Strukturfeld --> void *data + // Speichert Datenzeiger im data-Feld newNode->data = data; // Verbindet neuen Knoten mit bisherigen Stack, newNode zeigt jetzt auf das bisherige Top - newNode->next = stack; + newNode->nextNode = stack; return newNode; } @@ -36,7 +36,7 @@ StackNode *push(StackNode *stack, void *data) // (Pointer to data has to be // freed by caller.) --> data selber löschen -// pop löscht das oberste Element +// pop entfernt das oberste Element // Parameter: // StackNode *stack --> das aktuelle Top @@ -49,7 +49,7 @@ StackNode *pop(StackNode *stack) return NULL; //wenn Stack leer dann nichts tun } - StackNode *next = stack->next; // das nächste Element wird neues Top + StackNode *next = stack->nextNode; // das nächste Element wird neues Top free(stack); // altes Top wird aus Speicher entfernt return next; // gibt neues Top zurück } @@ -81,7 +81,7 @@ void *top(StackNode *stack) void clearStack(StackNode *stack) { while (stack != NULL) { // solange es Knoten gibt mach weiter, am Ende der liste -> NULL - StackNode *next = stack->next; // nächster Knoten wird ausgewählt + StackNode *next = stack->nextNode; // nächster Knoten wird ausgewählt free(stack); // Top wird gelöscht stack = next; // nächster Knoten ist stack (Top) } diff --git a/stack.h b/stack.h index a068f43..6b7e878 100644 --- a/stack.h +++ b/stack.h @@ -9,8 +9,8 @@ The latest element is taken from the stack. */ //TODO: passenden Datentyp als struct anlegen typedef struct StackNode { - void *data; //Zeiger auf unbekannten Typ oder Struktur --> damit beliebige Daten speichern mgl. - struct StackNode *next; //Zeiger auf nächsten Knoten + void *data; //Zeiger auf beliebige Daten speichern mgl. + struct StackNode *nextNode; //Zeiger auf nächsten Knoten } StackNode; // Pushes data as pointer onto the stack. diff --git a/test_stack.exe b/test_stack.exe index 493be4631f1859c0f65d478a21946eb390652706..87c27a3999168463684d10f708264447672877d9 100644 GIT binary patch delta 22 ecmca`lIg-prU@O)^R=uecKb2~@85Xq+hPECmJ0U( delta 22 ecmca`lIg-prU@O)n~jYpcKb5LpV)Zo+hPEEBMTt_