Advertisement
Ashik_Sazal

DFS

Aug 19th, 2019
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.77 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. void dfs(int i,int visited[],vector<int>adj[])
  4. {
  5.     if(visited[i] != 0)
  6.         return;
  7.  
  8.     visited[i]=1;
  9.     for(int j = 0; j < adj[i].size(); j++)
  10.     {
  11.         int v = adj[i][j];
  12.         if(visited[v] == 0)
  13.             dfs(v,visited,adj);
  14.     }
  15.     cout <<i<<" ";
  16. }
  17. int main()
  18. {
  19.     int n,e,u,v,s;
  20.     cout<<"Enter the number of nodes and edges : ";
  21.     cin>>n>>e;
  22.     vector<int>adj[n];
  23.     int visited[n];
  24.     for(int i=0; i<n; i++)
  25.         visited[i]=0;
  26.     for(int i=0; i<e; i++)
  27.     {
  28.         cout<<"Edge "<<i<<" : ";
  29.         cin>>u>>v;
  30.         adj[u].push_back(v);
  31.         //adj[v].push_back(u);
  32.     }
  33.  
  34.     for(int i=0; i<=n; i++)
  35.         if(visited[i]==0)
  36.             dfs(i,visited,adj);
  37.  
  38. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement