Форум программистов, компьютерный форум CyberForum.ru

Как работает алгоритм удаления дерева - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ UDP Client http://www.cyberforum.ru/cpp-beginners/thread156412.html
Привет всем! У меня тут такой вопрос возник: можно ли создать UDP Client к уже существующему серверу UDP пример: вот UDP Server MTA vc 0.1 магули я создать для него клиент ?? и чтоб мой клиент функционирывал почти ткаже как и MTA VC Client 0.1 ???????????
C++ Аварийное завершение программы #include "B.h" #include "D1.h" #include "D2.h" #include <iostream> #include <typeinfo> using namespace std; class B { http://www.cyberforum.ru/cpp-beginners/thread156384.html
C++ Есть ли в С++ аналог Readln(F, var1,var2,...) в Паскале?
Нужно прочесть из файла значения в переменные разделенные пробелами. Как это проще сделать?
Словарик/Тестер C++
Добрый день! Необходимость параллельного с си изучения и другого языка - английского навела меня на мысль написать простой словарик - и одновременно проверщик запоминания. Привожу код на си той части которая должна записывать новые слова в словарь: #include <iostream> #include <cstdlib> using namespace std; struct word { char Eng;
C++ Как выделить память для динамического массива? http://www.cyberforum.ru/cpp-beginners/thread156350.html
Как выделить память для динамического массива? typedef TPrimitives *TPrimitive; //... TPrimitives Primitives; Мне нужно выделить память для N элементов массива...
C++ _wcscat работает в одной программе, но не в другой 10 мин прошло, всё решилось, просто компилятор глючил и и писал бред в ошибках =\ само прошло подробнее

Показать сообщение отдельно
CyBOSSeR
Эксперт C++
 Аватар для CyBOSSeR
2293 / 1663 / 86
Регистрация: 06.03.2009
Сообщений: 3,675
29.07.2010, 23:02     Как работает алгоритм удаления дерева
Цитата Сообщение от Flamе Посмотреть сообщение
вызываются одновременно или последовательно???
Последовательно.
Цитата Сообщение от Flamе Посмотреть сообщение
и вапще удалит ли вся эта функция дерево полностью сразу или нужно создать для неё цикл, т.к. она будет удалять крайние вершины??
Удалит рекурсивно все дерево.

Есть более простое решение без лишних функций. Достаточно в деструкторе узла дерева удалить поддеревья:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
template<typename T>
struct TreeNode<T> {
   // ...
   ~TreeNode() {
      delete left;
      delete right;
   }
   TreeNode<T>* left;
   TreeNode<T>* right;
   // ...
};
 
// ...
// root - корень дерева
delete root; // Удаление корня вызовет рекурсивное удаление всего дерева
// ...
Постигайте рекурсию.
 
Текущее время: 18:40. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru