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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
kukuw4
0 / 0 / 0
Регистрация: 27.01.2016
Сообщений: 16
#1

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

22.04.2017, 20:12. Просмотров 479. Ответов 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++):

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

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

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

Обход графа в ширину - C++
Как обойти граф в ширину? есть граф: int graf = { { 1, 6 },// где на каждой строке указаны смежные вершины { 2, 3 }, ...

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

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

7
Joey
Модератор
771 / 478 / 123
Регистрация: 05.05.2015
Сообщений: 2,812
Записей в блоге: 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
Модератор
771 / 478 / 123
Регистрация: 05.05.2015
Сообщений: 2,812
Записей в блоге: 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
Модератор
771 / 478 / 123
Регистрация: 05.05.2015
Сообщений: 2,812
Записей в блоге: 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
Модератор
771 / 478 / 123
Регистрация: 05.05.2015
Сообщений: 2,812
Записей в блоге: 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
Привет! Вот еще темы с ответами:

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

Обход неориентированного графа в ширину. В конце выдаёт путь: 1 - C++
#include &lt;iostream&gt; #include &lt;queue&gt; #include &lt;conio.h&gt; using namespace std; int n;// число вершин графа int mass;//матрица...

Обход дерева) - C++
Прога работает) но сказали, что нужно сделать отдельную функцию обхода дерева) можете помочь) или пример)) #include &lt;iostream.h&gt; ...

обход дерева - C++
Здравствуйте! У меня вопрос: Есть класс: class D { vector &lt;A*&gt; count; }; ...


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

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

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