Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void rasowe_DFS_dla_digrafow(int graf[5][5])
- {
- stack<int> sztosik;
- int odwiedzone_wierzcholki[5] = { 0 };
- int wierzcholek_poczatkowy = 0;
- sztosik.push(wierzcholek_poczatkowy); //wrzucam pierwszy wierzcholek na s(z)tosik
- int wierzcholek_z_stosiku=0;
- while (!sztosik.empty()) //kod się wykonuje (wypisuje dostępne wierzchołki) dopóki jest cokolwiek na stosie czyli póki jest co przeszukiwać
- {
- wierzcholek_z_stosiku = sztosik.top(); //zaspisuje górny wierzchołek z s(z)tosika na zmienną, która tak naprawdę jest indeksem wiersza, który przeszukuje
- sztosik.pop(); //wyrzusam wierzcholek z s(z)tosu
- odwiedzone_wierzcholki[wierzcholek_z_stosiku] = 1;
- for (int j = 0; j < 5; j++)
- {
- if (graf[wierzcholek_z_stosiku][j] == 1)
- {
- sztosik.push(j);
- odwiedzone_wierzcholki[j] = 1;
- }
- }
- }
- int suma = 0;
- for (int i = 0; i < 5; i++)
- suma += odwiedzone_wierzcholki[i];
- if (suma == 5)
- cout << "Graf przeszukiwalny" << endl;
- else
- cout << "Graf nie jest przeszukiwalny" << endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement