bt_bb_section_bottom_section_coverage_image

Član i najmanji element u binarnom stablu

Č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.

Komentariši