Структуры данных. Деревья - 29 стр.

UptoLike

31
когда добавляемый элемент является уже готовым узлом (в нашем случаепод-
деревом), выглядят следующим образом:
procedure Delete1(var T : Tree; x : integer);
var q : Tree;
procedure Insert(var T : Tree; p: Tree);
begin
if T = nil then T:=p
else
if p^.inf < T^.inf then Insert(T^.L,p)
else Insert(T^.R,p)
end; { Insert }
begin
if T = nil then { элемента в дереве нет }
else
if x < T^.inf then Delete1(T^.L, x)
else
if x > T^.inf then Delete1(T^.R, x)
else
begin { исключение узла T^ }
q:=T;
if q^.R = nil then T:=q^.L
else
if q^.L = nil then T:=q^.R
else begin T:= q^.L;
Insert(T,q^.R)
end;
{ освобождение памяти, выделенной для размещения узла q^ }
dispose(q)
end
end; { Delete1 }