Язык С++ и программирование на нем. Рейзлин В.И. - 159 стр.

UptoLike

Составители: 

161
while ( num.peek () != EOF) {
numb >> key;
cout << t.insert ( key ) << “ ; // Вставка и печать элемента,
} // или просто печать, если
cout << ‘\n; // элемент уже есть.
t.print ();
cout << “\n\n“;
key = 50;
t.del ( key );
t.print ();
cout << ‘\n;
}
Заметим, что рекурсивная функция del_el() вызывается, если из
удаляемой вершины направлены два ребра дерева. Она спускается до
самого правого звена левого поддерева удаляемого элемента *q, а затем
заменяет значения членов key и code в *q соответствующими значе-
ниями полей key и code вершины *r. После этого вершину, на кото-
рую указывает r, можно исключать с помощью оператора r = r->left.
Можно видоизменить эту функцию, освобождая память, занимаемую
удалённым звеном с помощью операции delete.