Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
kukuw4
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 16
1

Обход дерева в ширину

22.04.2017, 20:12. Просмотров 827. Ответов 7
Метки нет (Все метки)

имеется такой кусок программы. требуется обойти дерево в ширину.
библиотека #include <queue> подключена
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
void Tree<NODETYPE>::width_walk(TreeNode<NODETYPE>* n)
{
    if (!root)
    {
        cout << "Пусто" << endl;
    }
    queue<int> q;
        q.enqueue(n);        // корень в очередь
        while (n != 0) {
            n = q.dequeue();
            cout << n->get_data() << " ";              // посетить x
            if (n->left!=0)   // x.left - левое поддерево
                q.enqueue(n->left);
            if (n->right != 0)  // x.right - правое поддерево
                q.enqueue(n->right);
    }
}
выдает ошибки, что enqueue и dequeue не являются членом queue.
что стоит исправить?
или у кого есть рабочий код на такой обход дерева?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
22.04.2017, 20:12
Ответы с готовыми решениями:

Обход дерева в ширину
Кто нибудь может скинуть мне программу обхода дерева в ширину?

Обход в ширину
Помогите написать обход в ширину на C++ без библиотек &lt;vector&gt; и т.д.

Обход графа в ширину
Подскажите, как во время обхода графа в ширину помечать вершины как четные и не...

Обход графа в ширину
Как обойти граф в ширину? есть граф: int graf = { { 1, 6 },// где на...

Обход в ширину графа
Здравствуйте, помогите пожалуйста разобраться что не так в алгоритме работы...

7
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,199
Записей в блоге: 1
22.04.2017, 22:04 2
kukuw4, https://msdn.microsoft.com/ru-ru/lib...vs.110%29.aspx
Я правильно понимаю, что это .NET-овский метод?
0
kukuw4
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 16
22.04.2017, 22:23  [ТС] 3
да вроде б да. я просто нашел такую реализацию, и не знаю как можно сделать по другому. да к тому же,чтобы вообще работало
0
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,199
Записей в блоге: 1
22.04.2017, 22:26 4
kukuw4, а dequeu? http://www.cplusplus.com/reference/queue/queue/
0
kukuw4
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 16
22.04.2017, 23:59  [ТС] 5
не понял вопрос
0
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,199
Записей в блоге: 1
23.04.2017, 00:07 6
kukuw4, Вы сходили по ссылке? Там перечислены стандартные методы qeueu. Есть dequeu - возможно, то, что Вам нужно
0
kukuw4
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 16
23.04.2017, 00:27  [ТС] 7
выдает точно такую же ошибку. dequeu не является членом класса queue
может ты знаешь как организовать вывод по ширине другим способом?
0
Joey
Форумчанин
831 / 552 / 219
Регистрация: 05.05.2015
Сообщений: 3,199
Записей в блоге: 1
23.04.2017, 00:33 8
Цитата Сообщение от kukuw4 Посмотреть сообщение
может ты знаешь как организовать вывод по ширине другим способом?
ммм, нет. Может Обход бинарного дерева в ширину
и еще http://e-maxx.ru/algo/bfs
0
23.04.2017, 00:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
23.04.2017, 00:33

Дерево поиска. Обход в ширину.
Организовать двоичное дерево поиска, состоящее из целых чисел. Вывести...

Список смежности и обход графа в ширину
нужно создать список смежности и пройти граф в ширину. как с помощью struct{};...

Обход графа в ширину - Breadth First Search (BFS)
Всем привет! Я не понимаю алгоритм обхода в глубину BFS:( Кто может помощь?


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru