Реферат: Структуры данных бинарное упорядоченное несбалансированное дерево
}
} //Del
static void delete_ (PItem& P, TInfo X)
{
PItem Q;
//Delete
if (P != NULL) //искать удаляемый узел
if (X < P->Key)
delete_(P->Left, X);
else
if (X > P->Key)
delete_(P->Right, X); //искать в правом поддереве
else {
//узел найден, надо его удалить
//сохранить ссылку на удаленный узел
Q = P;
if (Q->Right == NULL)
//справа NULL
//и ссылку на узел надо заменить ссылкой на этого потомка
P = Q->Left;
else
if (Q->Left == NULL)
//слева NULL
//и ссылку на узел надо заменить ссылкой на этого потомка
P = P->Right;
else //узел имеет двух потомков
Del(Q->Left, Q);
delete Q;
}