Форум программистов, компьютерный форум, киберфорум
Наши страницы

Удаление корня двоичного дерева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вывод графика http://www.cyberforum.ru/cpp-beginners/thread783621.html
* ** *** **** ***** ****** ******* ********
C++ error C2562: Куда же всё-таки написать return??? // Выполнил: студентка 3-го курса гр. ИСТ_337 Сакардина О.О. //Вариант №50 программа соответствует модульной структуре технического задания и не представляет... http://www.cyberforum.ru/cpp-beginners/thread783618.html
C++ Написать программу которая выводит график
Написать программу которая выводит график: ******** ******* ****** ***** **** *** ** *
C++ Использование функций
#include <iostream> #include <cstdlib> using namespace std; void drill(); int count; // count and num_right are global int num_right; int main()
C++ классы, что пишется перед точкой с запятой? http://www.cyberforum.ru/cpp-beginners/thread783606.html
class example { ... }//перед точкой с запятой иногда что-то пишут, какие-то переменные, что они значат? ...;
C++ Определить длину каждого слова. Удалить все буквы "а" и "о" с фамилии 3.Написать программу, вводите фамилию, имя и отчество одной строкой. Определить длину каждого слова. Удалить все буквы "а" и "о" с фамилии. Заранее спасибо, жду ответов. подробнее

Показать сообщение отдельно
slipp1
13 / 12 / 1
Регистрация: 09.11.2012
Сообщений: 367
Записей в блоге: 1
11.02.2013, 13:15  [ТС]
Цитата Сообщение от nonedark2008 Посмотреть сообщение
ptr - это указатель на вершину, у любого узла дерева есть 3 указателя: на левый и правый дочерние и на родителя. У корня дерева указатель на родителя NULL. После удаления корня, чтобы не перестраивать все дерево целиком, можно вместо корня поставить другой элемент этого дерева. Проще всего подставить лист дерева. ptr указывает на корень. Перенаправляем его на выбранный лист, у родителя листа ставим указатель на левый/правый в NULL(зависит от того каким дочерним является лист по отношению к родителю). А правый и левый у листа ставим как и у старого корня. А затем освобождаем память из под старого корня. Т.е. в итоге мы заменили корень на лист дерева, а потом удалили старый корень.
C++
1
2
3
4
5
6
7
TreeNode<NODETYPE>* Node=ptr->leftPtr;
ptr=ptr->leftPtr;
        
ptr->leftPtr=0;
        
Node->leftPtr=ptr->leftPtr;
Node->rightPtr=ptr->rightPtr;
если сделал так то не получаетсо

Добавлено через 7 часов 37 минут
up?
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.