Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 18.09.2017
Сообщений: 4

Проход графа в глубину с использованием списка

11.11.2019, 23:00. Показов 394. Ответов 0
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Помогите пожалуйста, с стеком знаком получается делать, а нужно с использованием списка сделать, а как с ним работать не понимаю
Код для стека ниже
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
#include<conio.h>
#include <iostream>
#include <queue>
#include <stack>
#include <ctime>
using namespace std;
int e = 0;
const int N = 8;
int i, j;
struct Node {
    int hight;
    Node* p;
};
 
int A[N][N] = { { 0,  0,  8,  0,  0,  13, 0,  0}, // матрица смежности
    { 0,  0,  15, 0,  0,  0,  0,  7},
    { 8,  15, 0,  12, 0,  0,  13, 0},
    { 0,  0,  0,  0,  8,  0,  0,  0},
    { 0,  0,  0,  8,  0,  0,  0,  0},
    { 13, 0,  0,  0,  5,  0,  0,  0},
    { 0,  0,  0,  0,  13, 0,  0,  7},
    { 0,  0,  0,  0,  0,  0,  7,  0} };
int visited[N] = { 0 };
void push(Node** top, int hight) {
    Node* pv = new Node;
    pv->hight = hight;
    pv->p = *top;
    *top = pv;
}
 
void pop(Node** top) {
    Node* pv = *top;
    *top = (*top)->p;
    delete pv;
}
Node* top1 = NULL;
void go(int curr)
{
 
    visited[curr] = 1;
    cout << "Вершина " << curr + 1 << " пройдена" << endl;
    push(&top1, curr + 1);
    for (int i = 0; i < N; i++)
        if (!visited[i] && A[curr][i]) {
 
            go(i);
        }
    cout << "Вернулся " << endl;
}
 
 
int main()
{
    setlocale(0, "Russion");
 
    for (i = 0; i < N; i++) cout << "     X" << i + 1;
    cout << endl << endl;
    for (i = 0; i < N; i++)
    {
        printf("X%d", i + 1);
        for (j = 0; j < N; j++)
        {
            printf("%6d", A[i][j]);
        }
        printf("\n\n");
    }
    int start;
    cout << "start=";
    cin >> start;
    go(start - 1);
    Node* pv = top1;
    cout << "Последовательность вершин поиска в глибину через стек " << endl;
    while (top1) {
        cout << " " << top1->hight;
        pop(&top1);
    }
    _getch();
 
}
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
11.11.2019, 23:00
Ответы с готовыми решениями:

Написать программу с использованием алгоритма обхода графа в глубину
Помогите пожалуйста. Заранее спасибо! Задание: 1. Написать программу с использованием алгоритма обхода графа в глубину. 2....

Из списка смежности в матрицу смежности. Выполнить обход графа глубину
Помогите пожалуйста с программой: Дан список смежности. Преобразовать в матрицу смежности. Выполнить обход графа в глубину. Заранее...

Проход дерева в глубину
Дерево задано матрицой смежности ( произвольной). Нужно реализовать проход дерева в глубину с использованием стека . using System; ...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
11.11.2019, 23:00
Помогаю со студенческими работами здесь

Вычесть из суммы списка его максимум и минимум за один проход списка
Если список меньше двух элементов, вывести ноль. Никак не могу сообразить, как это провернуть. На C# я бы написал так: using System; ...

Обход графа в глубину
Покажите кто-нибудь как работает &quot;обход графа&quot; в графе в консоле А именно вывод глубины графа,сколько ребер обошел ,где был уже... ...

Обход графа в глубину
Вот код, он рабочий на все 100, но мне непонятен. Можете объяснить построчно (ну не полностью построчно, конечно, а по действиям) что...

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

Обход графа в глубину
string graph = new string; graph = &quot;a&quot;; graph = &quot;0&quot;; //а graph = &quot;b&quot;;//b graph =...


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

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru