Advertisement
Guest User

Untitled

a guest
Mar 24th, 2019
62
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.05 KB | None | 0 0
  1. void rasowe_DFS_dla_digrafow(int graf[5][5])
  2. {
  3.     stack<int> sztosik;
  4.     int odwiedzone_wierzcholki[5] = { 0 };
  5.     int wierzcholek_poczatkowy = 0;
  6.     sztosik.push(wierzcholek_poczatkowy);                           //wrzucam pierwszy wierzcholek na s(z)tosik        
  7.     int wierzcholek_z_stosiku=0;
  8.     while (!sztosik.empty())                                    //kod się wykonuje (wypisuje dostępne wierzchołki) dopóki jest cokolwiek na stosie czyli póki jest co przeszukiwać
  9.     {
  10.         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
  11.         sztosik.pop();                                          //wyrzusam wierzcholek z s(z)tosu
  12.         odwiedzone_wierzcholki[wierzcholek_z_stosiku] = 1;
  13.         for (int j = 0; j < 5; j++)
  14.         {
  15.             if (graf[wierzcholek_z_stosiku][j] == 1)
  16.             {
  17.                 sztosik.push(j);
  18.                 odwiedzone_wierzcholki[j] = 1;
  19.             }
  20.         }
  21.     }
  22.     int suma = 0;
  23.     for (int i = 0; i < 5; i++)
  24.         suma += odwiedzone_wierzcholki[i];
  25.     if (suma == 5)
  26.         cout << "Graf przeszukiwalny" << endl;
  27.     else
  28.         cout << "Graf nie jest przeszukiwalny" << endl;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement