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

Обход произвольного дерева - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Поиск http://www.cyberforum.ru/cpp-beginners/thread39428.html
Вечер добрый. Подскажите максимально быстрый способ поиска, меня больше интересует не сама реализация а способ, так сказать или алгоритм.. Есть список ключ - значение. и ключ и значение...
C++ Заполнить матрицу линейной последовательностью (0-81), от левого верхнего угла по диагонали: вправо - вверх Помогите пожалуйста написать программу: Заполнить матрицу линейной последовательностью (1-81), от левого верхнего угла по диагонали: вправо - вверх? в соответствиb с рисунком... http://www.cyberforum.ru/cpp-beginners/thread39426.html
телефонный справочник C++
Создать телефонный справочник, т.е. файл из записей с полями: ФИО, адрес (запись из 3 полей : улица, номер дома, квартиры) и номер телефона. Найти номер АТС (первые 2 цифры номера телефона), имеющей...
C++ Помогите пжл новичку написать прогу
Нужно найти общие слова в 2-х предложениях
C++ Е и е, + и - http://www.cyberforum.ru/cpp-beginners/thread39420.html
Вводится строка символов, в которой могут встречаться пробелы, цифр буквы 'E' и 'e', знаки '+' и '-'. Известно, что первый символ отличён от пробела. Из данной строки подстройку сиволов,...
C++ Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) Каково будет условие вывода на экран простого числа( оно делится только на 1 и на себя) Есть вот это(точно не знаю, верна ли она), она НЕ выводит 3 и 7. #include <math.h> #include <iostream.h>... подробнее

Показать сообщение отдельно
Акелла
Сонный металюга
45 / 45 / 6
Регистрация: 10.05.2009
Сообщений: 295

Обход произвольного дерева - C++

10.06.2009, 22:43. Просмотров 5430. Ответов 7
Метки (Все метки)

C++
1
2
3
4
5
struct tree {
  char info;
  struct tree *left;
  struct tree *right;
};
так, вопрос глупый -меня просто сомнения берут. вот смотрите, если обход бинарного дерева в симметричном порядке у нас функция процедура такая делает:
C++
1
2
3
4
5
6
7
8
void inorder(struct tree *root)
{
  if(!root) return;
 
  inorder(root->left);
  if(root->info) printf("%c ", root->info);
  inorder(root->right);
}
а если дерево не бинарное,а 100-арное (т.е. у каждого элемента кроме листа не 2 а 100 потомков), то функция становиться такая??
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void inorder(struct tree *root)
{
  if(!root) return;
 
  inorder(root->el_1);
  if(root->info) printf("%c ", root->info);
  inorder(root->el_2);
  if(root->info) printf("%c ", root->info);
  inorder(root->el_3);
 
 
 //и так до...
 
  if(root->info) printf("%c ", root->info);
  inorder(root->el_100);
}
получается так?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.