Cześć
Piszę w C.
Opiszę zarys problemu:
-mamy strukturę
struct tree
{
int value;
struct tree *pointer;
};
-tworzymy kolejne pozycje listy i wskaźnik na początek listy
struct tree br1,br2,br3;
struct tree *start=&br1
-przypisujemy wartości
br1.value=10;
br1.pointer=&br2;
br2.value=20;
br2.pointer=&br3;
br3.value=30;
br3.pointer=(struct tree *)0;
Mam teraz funkcję do której przekazuję wskaźnik początku i chcę przechodzić po kolejnych branchach(br1,br2,br3).
W 1 książce robią to tak: pointer=pointer->value, ale to nie jest prawidłowe.
Jak prawidłowo przechodzić po kolejnych gałęziach?
Np. po to żeby zobaczyć, w której gałęzi znajduje się poszukiwana wartość?
while(pointer!=(struct tree *)0)
{
if(pointer->value==number)
return pointer;
else
{
pointer=pointer->value; // to nie zdaje egzaminu
}
}
Proszę o pomoc