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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 31, средняя оценка - 4.68
Legendary
#1

поиск в ширину - C++

21.05.2010, 06:37. Просмотров 3822. Ответов 2
Метки нет (Все метки)

Помогите объяснить это по русски каждую строчку что тут написнао .
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
#include <cstdio>
#include <vector>
#include <stack.h>
#include <queue>
#include <list>
using namespace std;
struct Ver
{
int v, w;
};
 
//------------------------------------------------------------------------------
 
vector<vector<Ver> > Graf;
vector<vector<Ver> > Carcas;
vector<bool> isl_p;
stack<int> st_p_g;
queue<int> st_p_w;
 
 
 
 
void psk_deep()
{
int k=st_p_g.top();
isl_p[k]=true;
for (int i=0; i < Graf[k].size(); i++)
{
 if (isl_p[Graf[k][i].v] == false)
 {
  printf ("%d -> %d\n", k, Graf[k][i].v);
  st_p_g.push(Graf[k][i].v);
  psk_deep();
  st_p_g.pop();
 }
}
}
 
void poisk_deep(int k)
{
printf("-----------------------------------Poisk v glubinu-------------------------\n");
isl_p.resize(Graf.size());
st_p_g.push(k);
psk_deep ();
st_p_g.pop();
for (int i=0; i < isl_p.size(); i++) isl_p[i]=false;
printf("\n");
}
 
//------------------------------------------------------------------------------
общий смысл понятен ,не понятно как переходят и что за стандартные функции типо Graf.size , st_p_g.pop();

C++
1
2
3
4
5
vector<vector<Ver> > Graf;
vector<vector<Ver> > Carcas;
vector<bool> isl_p;
stack<int> st_p_g;
queue<int> st_p_w;
Помогите пожалуйста ..не омгу сам уже разобраться.
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
21.05.2010, 06:37
Здравствуйте! Я подобрал для вас темы с ответами на вопрос поиск в ширину (C++):

Поиск в ширину - C++
Можете, пожалуйста, объяснить как понять вот этот код: vector &lt; vector&lt;int&gt; &gt; g; // граф непонятно, как описан вектор. код взят...

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

Поиск в ширину на графе - C++
#include &quot;stdafx.h&quot; #include &quot;stdafx.h&quot; #include &lt;iostream&gt; #include &lt;conio.h&gt; #include&lt;vector&gt; #include&lt;queue&gt; using namespace...

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

поиск в ширину(Рекурсивный) - C++
Программа запускается но выдает ошибку(Задача такая: Создать программу для решения задачи построения слова из некоторого множества букв...

Длина пути (поиск в ширину) - C++
В неориентированном графе требуется найти длину минимального пути между двумя вершинами. Гарантируется, что путь существует. Входные...

2
mamedovvms
2917 / 838 / 93
Регистрация: 30.04.2009
Сообщений: 2,627
21.05.2010, 06:53 #2
Я не настолько силен в с++ но мне кажется что скорее всего функция Graf описана в одном из файлов которые вы в самом начале прописываете.
1
Legendary
21.05.2010, 06:58 #3
тут вы правы забыл скопировать
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
void Add_v_from_file()
{
printf("-----------------------------------Spisok incendentnosti-------------------\n");
int n;
int u, v, w;
freopen("input.txt", "r", stdin);
scanf("%d", &n);
Graf.resize(n+1);
while(scanf("%d%d%d", &u, &v, &w)!=EOF)
{
 Ver temp;
 temp.v = v;
 temp.w = w;
 Graf[u].push_back(temp);
 temp.v = u;
 Graf[v].push_back(temp);
}
for(int i = 1; i < Graf.size(); i++)
{
 printf("%d: ", i);
 for(int j = 0; j < Graf[i].size(); j++)
 {
  printf("(%d, %d) ", Graf[i][j].v, Graf[i][j].w);
 }
 printf("\n");
}
printf("\n");
}
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
21.05.2010, 06:58
Привет! Вот еще темы с ответами:

Поиск в ширину - Неправильно выполняется программа - C++
ПОМОГИТЕ! ПОЧЕМУ НЕПРАВИЛЬНО ВЫПОЛНЯЕТСЯ ПРОГРАММА? #include&lt;iostream&gt; #include&lt;stdio.h&gt; #include&lt;queue&gt; using namespace...

Помогите написать программу поиск в ширину - C++
Здравствуйте! Необходимо написать такую программу: Входные данные - количество вершин графа и его ребра. Выход - вектор, содержащий...

Найти минимальный путь между двумя вершинами в неорграфе. Поиск в ширину - C++
В неориентированном графе требуется найти минимальный путь между двумя вершинами. Входные данные Первым на вход поступает число N –...

Алгоритмы поиска кратчайших путей в ширину и двунаправленный в ширину - C++
Реализовать алгоритм поиска кратчайшего пути. Двунаправленный поиск в ширину. Вот есть 2 алгоритма поиска в ширину. ...


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

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

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