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

Как вы учили деревья - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Вычислить сумму конечного отрезка ряда http://www.cyberforum.ru/cpp-beginners/thread708077.html
Помогите, плиз, как написать программу с помощью функций??? (в С++) Дано натуральное число N. Вычислить сумму конечного отрезка ряда:
C++ Как очистить массив выделеной памяти #include <iostream> #include <string.h> #include <cstdlib> using namespace std; int main() { int koltest; int kolday; char obmen; http://www.cyberforum.ru/cpp-beginners/thread708075.html
Построение бинарного дерева C++
Написать программу построения бинарного дерева с помощью связных структур и поиска в дереве при симметричном порядке обхода его. Если возможно с комментариями. Буду очень благодарен.
C++ Поиск по случайному деререву
Написать программу поиска по случайному дереву при обратном порядке обхода его. Дерево представлено с помощью массива. Если можно, то с комментариями. Заранее спасибо.
C++ Конечные автоматы с реализацией http://www.cyberforum.ru/cpp-beginners/thread708062.html
Есть такая работа,делал не я. http://f1.s.qip.ru/G1CCNne7.png http://f2.s.qip.ru/G1CCNne8.png вот реализация #include <iostream> using namespace std;
C++ Описать структуру с именем Student Вот задание . Описать структуру с именем Student, содержащую следующие поля: name – имя, group – группа, marks – успеваемость (массив из 4 элементов) 1)Написать программу, выполняющую ввод с... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
3569 / 1753 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.11.2012, 06:54
Цитата Сообщение от Джек Посмотреть сообщение
struct Node
Это тоже лучше классом с publc членами. И деструктора не хватает, который при удалении узла сотрёт всё его поддерво.

Добавлено через 2 минуты
Цитата Сообщение от Джек Посмотреть сообщение
{Node *r=new Node;
Показалось, что root=new Node;, это была бы утечка, так как корень может быть уже создан, да и не дерево, так как исключается создание потомков корня.

Добавлено через 1 минуту
Цитата Сообщение от I.M. Посмотреть сообщение
root=r;
с учётом предыдущих строк, это эквивалент root=new Node;.

Добавлено через 2 минуты
Надо в скобку, так как условие должно относиться к обоим действиям:
C++
1
2
3
4
5
if(root==NULL)
{
 r->data=x;
 root=r;
}
Добавлено через 2 минуты
Цитата Сообщение от Джек Посмотреть сообщение
if(x>r->data)
r->data=x;
r->right=r;
right всегда будет копией корня, смысл потомка в хранении собственной инфы, то есть это не потомок. Надо так:
C++
1
2
3
4
5
if(x>r->data)
{
 r->data=x;
 r->right=r;
}
.

Добавлено через 27 секунд
Цитата Сообщение от I.M. Посмотреть сообщение
if(x<r->data)
*r->data=x;
*r->left=r;
То же самое.
1
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru