Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program drzewo;
- uses
- crt, DOS;
- type
- ptr = ^person;
- person = record
- imie, partner: String;
- poziom, ID: Integer;
- dziecko1, dziecko2: ptr;
- end;
- var
- root: ptr;
- staticID: Integer;
- procedure wyswietl(wezel: ptr);
- begin
- write(wezel^.imie, ' (',wezel^.ID, ')');
- if wezel^.partner <> '' then
- write(' - ', wezel^.partner);
- writeLn();
- if wezel^.dziecko1 <> NIL then
- wyswietl(wezel^.dziecko1);
- if wezel^.dziecko2 <> NIL then
- wyswietl(wezel^.dziecko2);
- end;
- function szukajID(ID: Integer; wezel: ptr): ptr;
- begin
- result := NIL;
- if ID = wezel^.ID then
- result := wezel
- else
- begin
- if wezel^.dziecko1 <> NIL then
- result := szukajID(ID, wezel^.dziecko1);
- if wezel^.dziecko2 <> NIL then
- result := szukajID(ID, wezel^.dziecko2);
- end;
- end;
- procedure dodajDane(var wsk: ptr);
- begin
- writeLn('Podaj imie: ');
- readLn(wsk^.imie);
- wsk^.ID := staticID;
- end;
- procedure dodaj(id: Integer);
- var
- wsk, wskD: ptr;
- begin
- inc(staticID);
- wsk := szukajID(id, root);
- if wsk^.dziecko1 = NIL then
- begin
- new(wskD);
- dodajDane(wskD);
- wsk^.dziecko1 := wskD;
- end else
- begin
- f wsk^.dziecko1 = NIL then
- begin
- new(wskD);
- dodajDane(wskD);
- wsk^.dziecko1 := wskD;
- end
- end;
- end;
- procedure usun();
- begin
- end;
- begin
- staticID := 0;
- new(root);
- root^.imie := 'stary';
- root^.poziom := 0;
- root^.ID := staticID;
- root^.partner := 'zona';
- root^.dziecko1 := NIL;
- root^.dziecko2 := NIL;
- wyswietl(root);
- ReadKey;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement