Реферат: Динамические структуры данных: двоичные деревья
{Рекурсивный вариант добавления элемента в дерево, Turbo Pascal}
Procedure InsRec(Var Tree : U; x : BT);
Begin
If Tree = Nil
Then Begin
New(Tree);
Tree^.L := Nil;
Tree^.R := Nil;
Tree^.Inf := x
End
Else If x < Tree^.inf
Then InsRec(Tree^.L, x)
Else InsRec(Tree^.R, x)
End;
Аналогичнона C++.
typedef long BT;
struct BinTree{
BT inf;
BinTree *L; BinTree *R;
};
/* Итеративный вариант добавления элемента в дерево, C++ */
BinTree* InsIteration(BinTree *T, BT x)
{ BinTree *vsp, *A;
A = (BinTree *) malloc(sizeof(BinTree));
A->inf=x; A->L=0; A->R=0;
if (!T) T=A;
else {vsp = T;
while (vsp)
{if (A->inf < vsp->inf)