generated from freudenreichan/info2Praktikum-DobleSpiel
kleine Kürzungen
This commit is contained in:
parent
918ae1d61e
commit
1389fcc864
17
bintree.c
17
bintree.c
@ -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)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user