Создание дерева бинарного поиска :
(псевдокод)
writeln(' Введите элемент массива ');
readln(key);
tree:=maketree(key);
p:=tree;
while not eof do
begin
readln(key);
v:=maketree(key);
while p<>nil do
begin
q:=p;
if key<k(p) then p:=left(p)
else p:=right(p);
end;
if p=nil then
begin
writeln('Это корень');
tree:=v;
end
else
if key<k(q) then left(p):=v
else right(p):=v;
end;
При обходе дерева слева - направо получаем отсортированный массив 20, 30, 35, 45, 60, 70, 82, 85, 86, 87, 88, 90. Элемент дерева заносится в массив при втором заходе в него (на рисунке вторые заходы показаны зелеными стрелками).