| 48 | |
| 49 | |
| 50 | void dfs(int n, vector<int> adj[]) |
| 51 | { |
| 52 | vector<bool> visit(v,false); |
| 53 | stack<int> s; |
| 54 | s.push(n); |
| 55 | visit[n]=true; |
| 56 | while(!s.empty()) |
| 57 | { |
| 58 | n=s.top(); |
| 59 | cout<<n<<" "; |
| 60 | s.pop(); |
| 61 | for(int i=0;i<adj[n].size();i++) |
| 62 | { |
| 63 | if(!visit[adj[n][i]]) |
| 64 | { |
| 65 | s.push(adj[n][i]); |
| 66 | visit[adj[n][i]]=true; |
| 67 | } |
| 68 | } |
| 69 | } |
| 70 | |
| 71 | } |
| 72 | |
| 73 | int main() |
| 74 | { |