Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2013, 18:25   #1
Alexander X
 
Регистрация: 16.12.2007
Сообщений: 3
Вопрос Вывод структуры дерева без рекурсии

В общем вопрос: как можно реализовать вывод структуры БИНАРНОГО ДЕРЕВА ПОИСКА не используя рекурсию? Рекурсивно это все делается довольно просто, а вот итеративно у меня не получается:

Код:
//рекурсивный вывод
template <class T> void BST<T>::show()
{showBST(head,0);};
template <class T> void BST<T>::showBST(node* elem, int otstup)
{
		if(elem==NULL) return;
		showBST(elem->right, otstup+1);
		cout.width((otstup*6));
		cout<<elem->key<<endl;
		showBST(elem->left, otstup+1);
};
Знаю, что нужно использовать стек, но не как не могу понять, как это реализовать.
Буду благодарен как за код, так и за просто совет в реализации.
Alexander X вне форума Ответить с цитированием
Старый 25.11.2013, 20:59   #2
Son Of Pain
Участник клуба
 
Регистрация: 23.12.2010
Сообщений: 1,129
По умолчанию

Код:
Кладешь в стек корневой узел;
в цикле (пока стек не пустой) {
   забираешь узел из вершины стека;
   кладешь в стек левый и правый подузлы забранного узла, если они не пустые;
}
Son Of Pain вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Поиск файлов без рекурсии calypso C++ Builder 18 29.05.2013 10:54
C#.LINQ Генерация всех перестановок без рекурсии Lasur Помощь студентам 2 08.04.2012 19:38
Вывод дерева в TTreeView из структуры Sauber Visual C++ 3 17.11.2011 07:49
дерева TTreeView структуры меню student_5 Общие вопросы Delphi 0 28.12.2010 11:27
А нужно без рекурсии Kazik Общие вопросы Delphi 1 22.05.2010 12:20