Форум программистов, компьютерный форум 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)Написать программу, выполняющую ввод с клавиатуры данных в массив students, состоящий из 25 структур типа Student. 2)Записи должны быть упорядочены по возрастанию поля group. Вывести на дисплей имена и группы всех студентов, имеющих хотя бы... подробнее

Показать сообщение отдельно
taras atavin
Ушёл с форума.
 Аватар для taras atavin
3569 / 1752 / 91
Регистрация: 24.11.2009
Сообщений: 27,619
29.11.2012, 10:46     Как вы учили деревья
Деревья рекурсивны, если правый потомок уже существует, а уровней может быть больше двух, то при x>root->data надо спустить добавление в поддерево:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
protected: void add(Node *&root, int x)
{
 Node *r=new Node;
 r->data=x
 if (root==NULL)
 {
  root=r;
  return;
 }
 if (x>root->data)
 {
  add(root->right, x);
  return;
 }
 add(root->left, x);
}
public: void add(int x)
{
  add(root, x);
}
Добавлено через 1 час 7 минут
Цитата Сообщение от Джек Посмотреть сообщение
сам код хорош
Нет, он коряво-велосипедистый. Я ведь не зря обозвал это дерево корягой.
 
Текущее время: 17:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru