#include<bits/stdc++.h> using namespace std; class graph { int v; list<int> *adj; public: graph(int v) { this->v=v; adj=new list<int>[v]; } void add_edge(int v,int w) { adj[v].push_back(w); adj[w].push_back(v); } void dfs(int start,bool visited[]); void counted(int start); }; void graph:: dfs(int start,bool visited[]) { visited[start]=true; for(auto it=adj[start].begin();it!=adj[start].end();it++) { if(!visited[*it]) { dfs(*it,visited); } } } void graph:: counted(int start) { bool *visited=new bool[v]; for(int i=0;i<v;i++) visited[i]=false; int count=0; visited[start]=true; for(int k=0;k<v;k++) { if(!visited[k]) { dfs(k,visited); count++; } } cout<<"count is "<<count<<endl; } int main() { int v; cout<<"E
Comments
Post a Comment