ВУЗ:
Составители:
Рубрика:
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.
Страницы
- « первая
- ‹ предыдущая
- …
- 157
- 158
- 159
- 160
- 161
- …
- следующая ›
- последняя »