Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <queue>
- void Graph::print_constr_tree() { // функция построения и вывода в терминал стягивающего дерева методом обхода в ширину
- int* Mark = new int[k](); // нулёвый массив отметок
- queue<int> q; // очередь вершин (см. обход в ширину)
- q.push(0); // начальная вершина произвольна, рассмотреть вариант её передачи в качестве аргумета (поставить аргумент по умолчанию)
- Mark[0] = 1;
- while (!q.empty()) {
- int v = q.front();
- q.pop();
- for (int i = 0; i < graphtable[v].size(); ++i) {
- int w = graphtable[v].readPos(i);
- if (Mark[w] == 0) {
- q.push(w);
- Mark[w] = 1;
- cout << "(" << v << "," << w << "), ";
- }
- }
- }
- cout << "\b\b \b";
- delete[] Mark;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement