// Достигли листа.
// Вставка элемента в этом месте.
GetMem(node, SizeOf(TSortNode));
node^.Value := new_value;
end
else
if (new_value <= node^.Value) then
begin
// Левая ветвь.
InsertItem(node^.LeftChild,new_value);
end
else begin
// Правая ветвь.
InsertItem(node^.RightChild, new_value);
end; end;
Если вызванная процедура изменяет значение параметра node, в вызывающей процедуре указатель на потомка также автоматически обновляется, что добавляет созданный новый узел к дереву.
InsertItem(node^.RightChild,new_value);