|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
17.11.2010, 18:24 | #1 |
Регистрация: 17.11.2010
Сообщений: 7
|
проход по дереву на c++
Добрый вечер всем. препод в качестве проверки моих знаний попросил меня написать программу, которая выдает список всех вышестоящих узлов в дереве)))) вообще без понятия как ее делать, так что прошу помощи... знаю только, что надо рекурсией проходить по дереву и все...
для наглядности: во вложении пример дерева. программа должна вывести: e-c-b-a f-c-b-a g-d-b-a h-d-b-a k-t-a n-t-a само дерево построить смогу, а вот алгоритм-врдяли. так что прошу помощи! |
17.11.2010, 20:02 | #2 | |
Белик Виталий :)
Старожил
Регистрация: 23.07.2007
Сообщений: 57,097
|
Цитата:
Все ж зависит от того как ты опишешь структуру элемента дерева.
I'm learning to live...
|
|
17.11.2010, 22:52 | #3 |
Регистрация: 17.11.2010
Сообщений: 7
|
Почему программой? вот пример кода (данные другие):
Код:
Последний раз редактировалось Stilet; 18.11.2010 в 09:22. |
18.11.2010, 00:02 | #4 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
добавь в структуру дерева элементам указатель на родителя и вся задача будет легко решена
или даже без этого, идти нужно от корня дерева, записывать элементы по к-рым проходишься, и так идти до нужного элемента
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
18.11.2010, 00:24 | #5 | |
Регистрация: 17.11.2010
Сообщений: 7
|
Цитата:
Код:
Последний раз редактировалось Stilet; 18.11.2010 в 09:24. |
|
18.11.2010, 01:38 | #6 |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
держи нямку
Код:
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] |
18.11.2010, 11:25 | #7 |
Регистрация: 17.11.2010
Сообщений: 7
|
спасибо еще раз, но препод дал условие: надо проходить по дереву рекурсивно....
а с этим кодом программа почему-то не работает... по-моему условие цикла не правильное, программа просто не осстанавливается и ничего не выводит. ... Код:
|
18.11.2010, 17:08 | #8 | |
Участник клуба
Регистрация: 29.12.2009
Сообщений: 1,166
|
ты что вообще передаешь процедуре????
NULL указатель!!! а нужно передать процедуре указатель на элемент, от к-рого нужно сделать проход до корня Код:
Цитата:
прогер C\C++\C#\Delphi
ася: [семь 3]-[97]-[1 шесть] Последний раз редактировалось Stilet; 18.11.2010 в 20:39. |
|
18.11.2010, 20:38 | #9 |
Пользователь
Регистрация: 03.11.2010
Сообщений: 95
|
Дерево выводим рекурсивно, сначала все левые ветки текущего, затем правые.
За точность не ручаюсь, т.к проверить негде, но подгоняемо вообщем Код:
|
18.11.2010, 23:41 | #10 | |
Регистрация: 17.11.2010
Сообщений: 7
|
Цитата:
RUSt88, сделал все, как ты написал.. но выдает ошибку: Ошибка сегментирования((( |
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Поиск по бинарному дереву | интеграл | Общие вопросы C/C++ | 3 | 01.05.2010 11:52 |
С++. Отыскать проход по лабиринту | Romer9999 | Помощь студентам | 1 | 17.06.2009 23:33 |
Проход по дереву. | Ozerich | Общие вопросы Delphi | 1 | 05.10.2008 17:33 |
TreeView и PageControl (переключение вкладок по дереву) | Nevy | Общие вопросы C/C++ | 5 | 17.08.2008 19:17 |