Структури даних
Структури даних
Тип документу: Реферат
Сторінок: 17
Предмет: Математика
Автор: Олексій
Розмір: 43.8
Скачувань: 1021
procedure InsElem (var Tree: Ptree; Value: integer);
begin
if (Tree = NIL) then
begin
New (Tree);
Tree^.val := Value;
Tree^.Left := nil;
Tree^.Right := nil;
Exit;
end;
if (Value > Tree^.Val) then
if Tree^.Right = NIL then
begin
New (Tree^.Right);
Tree^.Right^.val := Value;
Tree^.Right^.Left := NIL;
Tree^.Right^.Right := NIL;
Tree^.Right^.Up := Tree;
end
else InsElem (Tree^.Right, Value)
else
if Tree^.Left = NIL then
begin
New (Tree^.Left);
Tree^.Left^.val := Value;
Tree^.Left^.Left := NIL;
Tree^.Left^.Right := NIL;
Tree^.Left^.Up := Tree;
end
else InsElem (Tree^.Left, Value);
begin
if (Tree = NIL) then
begin
New (Tree);
Tree^.val := Value;
Tree^.Left := nil;
Tree^.Right := nil;
Exit;
end;
if (Value > Tree^.Val) then
if Tree^.Right = NIL then
begin
New (Tree^.Right);
Tree^.Right^.val := Value;
Tree^.Right^.Left := NIL;
Tree^.Right^.Right := NIL;
Tree^.Right^.Up := Tree;
end
else InsElem (Tree^.Right, Value)
else
if Tree^.Left = NIL then
begin
New (Tree^.Left);
Tree^.Left^.val := Value;
Tree^.Left^.Left := NIL;
Tree^.Left^.Right := NIL;
Tree^.Left^.Up := Tree;
end
else InsElem (Tree^.Left, Value);