Član
program bindrvo; type cvor_p = ^cvor; cvor = record info: integer; levi: cvor_p; desni: cvor_p; end; function create_cvor(): cvor_p; var p: cvor_p; x: integer; begin writeln('Unesi podatak(-1 za nema cvora - NIL)'); read(x); if x = -1 then create_cvor := nil else begin new(p); p^.info := x; writeln('Levo od ', x); p^.levi := create_cvor(); writeln('Desno od ', x); p^.desni := create_cvor(); create_cvor := p; end; end; procedure print_cvor(var p: cvor_p); begin if p <> nil then begin print_cvor(p^.levi); write(p^.info); writeln; print_cvor(p^.desni); writeln; end; end; function Clan(t : cvor_p; n : integer) : Boolean; begin if t = nil then Clan := false else if t^.info = n then Clan:= true else if n < t^.info then Clan:= Clan (t^.levi, n) else Clan:= Clan (t^.desni, n) end; var p: cvor_p; x :integer; r :Boolean; begin p := create_cvor(); readln(x); r := Clan(p, x); if r = true then writeln('Jeste!') else writeln('Nije!'); end.
Najmanji element
program binstablo; type Pcvor = ^cvor; cvor = record info :integer; levi, desni :Pcvor; end; procedure DodajElement(var t : Pcvor; n : integer); begin if t = nil then begin new(t); t^.info := n; t^.levi := nil; t^.desni := nil; end else if n <= t^.info then DodajElement (t^.levi, n) else DodajElement (t^.desni, n) end; procedure IspisiDrvo(var p: Pcvor); begin if p <> nil then begin IspisiDrvo(p^.levi); write(p^.info); write(' '); IspisiDrvo(p^.desni); end; end; function Clan(t : Pcvor; n : integer) : Boolean; begin if t = nil then Clan := false else if t^.info = n then Clan:= true else if n < t^.info then Clan:= Clan (t^.levi, n) else Clan:= Clan (t^.desni, n) end; function Min(t : Pcvor) : integer; begin while t^.levi <> nil do t := t^.levi; Min := t^.info; end; var p: Pcvor; x, n, i, r: integer; begin readln(n); for i := 1 to n do begin readln(x); DodajElement(p, x); end; r := Min(p); writeln(r); end.