MagentaTiger, спасибо!
Я переделала, но наверное неправильно... Поясните, не совсем поняла - если тип char, то воспринимаются только цифры. А ещё будьте добры, расскажите как освободить память?
Код:
program trees;
type
pTree = ^Tree;
Tree = record
name: char;
left: pTree;
right: pTree
end;
var
s: char;
t: pTree;
n, i: integer;
procedure insert(var T: pTree; x: char);
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('vvedi chisla: ');
repeat
read(s);
insert(t, s);
until s='!';
write('result. sortirovki: ');
obhod(t);
readln;
end.