Здравствуйте, проверьте пожалуйста. Верно ли сделано? Дано такое задание: Построить двоичное дерево сортировки.
Вот решение:
Код:
program trees;
type
pTree = ^Tree;
Tree = record
name: integer;
left: pTree;
right: pTree
end;
var
s: integer;
t: pTree;
n, i: integer;
procedure insert(var T: pTree; x: integer);
begin
if T = nil then begin
new(T);
T^.name := x;
T^.left := nil;
T^.right := nil;
end
else if T^.name >= x then
insert(t^.left, x)
else insert(t^.right, x);
end;
procedure obhod(t: Ptree);
begin
if T <> nil then begin
obhod(T^.left);
write(t^.name,',');
obhod(t^.right);
end;
end;
begin
write('kol-vo chisel: ');
read(n);
t := nil;
for i := 1 to n do
begin
read(s);
insert(t, s);
end;
write('result. sortirovki: ');
obhod(t);
readln;
end.