Witam.
Mógłby mi ktoś doradzić, jak napisać taką procedurę:
Wyświetlić w drzewie wielokierunkowym wszystkich wnuków (trzeci rząd).
Tak więc teraz. Definiuję sobie typ drzewa wielokierunkowego, powiedzmy że daną będzie integer.
type wskaznik = ^drzewo;
drzewo = record
dana : integer
rodzenstwo: drzewo;
potomstwo: drzewo;
end;
var wsk: wskaznik;
"rodzenstwo" jest wskaźnikiem do węzła na tym samym poziomie, a "potomstwo" do potomka.
Aby wypisać potomków bezpośrednich użyłbym chyba takiej procedury:
procedure potomek(w: wskaznik);
begin
w := w^.potomstwo;
while w <> nil do begin
write(w^.dana);
w:=w^.rodzenstwo;
end;
end;
I tutaj mam wątpliwości jak wypisać wszystkich wnuków danego węzła. Czyli trzeba przejść po kolei po potomstwie potomstwa? I potrzebna będzie tutaj rekurencja?