kleine Kürzungen

This commit is contained in:
LukVal54 2025-12-11 16:46:58 +01:00
parent 918ae1d61e
commit 1389fcc864
2 changed files with 4 additions and 15 deletions

View File

@ -90,37 +90,28 @@ static StackNode *iteratorStack = NULL;
void *nextTreeData(TreeNode *root)
{
// ============================================================
// PHASE 1: Initialisierung (Neuer Baum wird übergeben)
// ============================================================
//neuer Baum wird übergeben (root != NULL)
if (root != NULL)
{
// 1. Aufräumen: Falls noch Reste vom letzten Mal da sind
if (iteratorStack != NULL) {
clearStack(iteratorStack);
iteratorStack = NULL; // Wichtig: Zeiger "erden"
iteratorStack = NULL;
}
// 2. Initial befüllen: "Push root and all left nodes"
TreeNode *currentNode = root;
while (currentNode != NULL)
{
// HIER war deine Frage: Ja, wir müssen iteratorStack aktualisieren!
// Wir casten TreeNode* implizit zu void* für den Stack.
iteratorStack = push(iteratorStack, currentNode);
// Immer weiter nach links absteigen
currentNode = currentNode->left;
}
// WICHTIG: Wir geben hier noch nichts zurück!
// Der erste Aufruf initialisiert nur. Um das erste Element zu bekommen,
// fällt der Code einfach weiter nach unten in Phase 2.
}
// ============================================================
// PHASE 2: Iteration (Nächsten Wert holen)
// ============================================================
// Wenn der Stack leer ist (oder leer war), sind wir fertig.
if (iteratorStack == NULL)
@ -160,8 +151,6 @@ void *nextTreeData(TreeNode *root)
// Gibt den gesamten Speicher (Knoten + Daten) frei
void clearTree(TreeNode *root)
{
// 1. Abbruchbedingung: Wenn der Knoten existiert, müssen wir was tun.
// Wenn er NULL ist, machen wir einfach gar nichts (return void).
if (root)
{
// 2. Rekursion: Erst tief in den Baum absteigen (Post-Order)

View File

@ -9,7 +9,7 @@
// Pushes data as pointer onto the stack.
// Hilfsfunktion: Erstellt nur den "Container" (die Node)
// Hilfsfunktion
static StackNode *createStackNode(void *data)
{
// 1. Container reservieren