language: C++ 4.7.2 (gcc-4.7.2)
date: 567 days 11 hours ago
link:
visibility: public
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
#include<iostream>
#include<queue>
#include<cstdlib>
#include<cstring>
#define MAX 100
 
using namespace std;
 
queue<int> myQueue;
int G[MAX][MAX];
int visit[MAX];
int V = 4;
 
 
void dfs(int s) {
     int i, j, node;
     memset(visit, 0, sizeof(visit));
     myQueue.push(s);
 
     while(!myQueue.empty())
     {
          node = myQueue.front();
          myQueue.pop();
          if(visit[node]) continue;
          visit[node] = 1;
          cout << node << " ";
 
          for(i=0; i<V; i++)
               if(G[i][node]) myQueue.push(i);
          for(j=0; j<V; j++)
               if(G[node][j]) myQueue.push(j);     
     }
 
}
 
int main() {
    G[0][1] = 1; G[1][2] = 1; G[0][3] = 1;
    memset(visit, 0, sizeof(visit));
    dfs(0);
    return 0;
}