AmirVagapov

Graph2

Apr 9th, 2023
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.90 KB | None | 0 0
  1. using namespace std;
  2.  
  3. vector<int> graph[100000];
  4. bool used[100000];      //вместо visited массив меток обычно называют used.
  5.  
  6. int main() {
  7.     //Ввод графа...
  8.  
  9.     queue<int> q;
  10.     q.push(0);              //в качестве начальной вершины используем 0.
  11.     used[0] = true;
  12.  
  13.     while (!q.empty()) {
  14.         int cur = q.front();  //извлекаем из очереди текущую вершину
  15.         q.pop();
  16.  
  17.         //Здесь должна быть обработка текущей вершины.
  18.         cout << "BFS at vertex " << cur + 1 << endl;
  19.  
  20.         for (int neighbor: graph[cur]) {    //добавляем всех непосещённых соседей.
  21.             if (!used[neighbor]) {
  22.                 q.push(neighbor);
  23.                 used[neighbor] = true;
  24.             }
  25.         }
  26.     }
  27. }
Add Comment
Please, Sign In to add comment