uses crt;
type pspisok=^derevo;
derevo=record
i:string;
nextL:pspisok;
nextR:pspisok;
end;
var r,r1:pspisok;
a:string;
c:char;
procedure dobavl(var r,r1:pspisok);
begin
if r=nil then r:=r1
else if r1^.i>r^.i then dobavl(r^.nextR,r1)
else dobavl(r^.nextL,r1)
end;
procedure vyvod(var r:pspisok);
begin
if r<>nil then
begin
vyvod(r^.nextL);
writeln(r^.i);
vyvod(r^.nextR)
end
end;
procedure poisk(var r:pspisok;a:string);
var y:boolean;
begin
if r=nil then writeln('net');
if r^.i=a then writeln('est')
else if a>r^.i then poisk(r^.nextR,a)
else poisk(r^.nextL,a);
end;
begin
clrscr;
r:=nil;
c:='y';
while c='y' do
begin
writeln('Введите элемент');
readln(a);
new(r1);
r1^.i:=a;
r1^.nextL:=nil;
r1^.nextR:=nil;
dobavl(r,r1);
writeln('Продолжить ввод? y/n');
readln( c );
end;
writeln('Дерево:');
vyvod( r );
readkey;
end.
Поиск по дереву..., бинарному... |