bugfix bintree

This commit is contained in:
maxgrf 2025-12-11 11:47:05 +01:00
parent 75291daff4
commit 81fbacabdc
4 changed files with 9 additions and 7 deletions

View File

@ -80,31 +80,33 @@ void *nextTreeData(TreeNode *root)
if (stack)
{
freeStack(stack);
clearStack(&stack);
stack = NULL;
}
stack = createStack();
//leeren Stack initialisieren
stack = NULL;
// alle linken Knoten vom Wurzelknoten pushen
currentNode = root;
while (currentNode)
{
push(stack, currentNode);
stack = push(stack, currentNode);
currentNode = currentNode->left;
}
}
// Stack ist leer, keine Daten mehr
if (!stack || isEmpty(stack))
if (!stack)
return NULL;
TreeNode *newNode = pop(stack); // nächster Knoten
TreeNode *newNode = (TreeNode *)top(stack);
// Stack-Knoten entfernen
stack = pop(stack);
// Wenn rechter Teilbaum vorhanden → alle linken Knoten pushen
currentNode = newNode->right;
while (currentNode)
{
push(stack, currentNode);
stack = push(stack, currentNode);
currentNode = currentNode->left;
}
return newNode->data; // Daten zurückgeben

BIN
main.o Normal file

Binary file not shown.

BIN
numbers.o

Binary file not shown.

BIN
stack.o Normal file

Binary file not shown.