Advertisement
Guest User

Untitled

a guest
Jun 17th, 2019
67
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. #include<iostream>
  2. #include <list>
  3.  
  4. using namespace std;
  5.  
  6. class Graph{
  7. private:
  8. int n; //number of vertex in the graph
  9. list<int>* listAd; // Pointer to an list containing adjacency lists
  10. void DFSUtil(int u, bool visited[]);
  11. public:
  12. Graph(int n=10);
  13. void addEdge(int v, int w); // function to add an edge to graph
  14. void print(int v);
  15. };
  16.  
  17.  
  18.  
  19. Graph::Graph(int n){
  20. this->n = n;
  21. listAd = new list<int>[n];
  22. }
  23.  
  24. void Graph::addEdge(int u, int v){
  25. listAd[u].push_back(v);
  26. }
  27.  
  28. void Graph::print(int v){
  29. list<int>::iterator it;
  30. for (it = listAd[v].begin(); it != listAd[v].end(); ++it)
  31. cout<<*it<<" ";
  32. }
  33.  
  34. int main(){
  35. Graph g(4);
  36. g.addEdge(0, 1);
  37. g.addEdge(0, 2);
  38. g.addEdge(1, 2);
  39. g.addEdge(2, 0);
  40. g.addEdge(2, 1);
  41. g.addEdge(2, 3);
  42. g.addEdge(3, 3);
  43. cout << "Graph"<<endl;
  44. for(int i=0; i<4; i++){
  45. g.print(i);
  46. cout<<endl;
  47. }
  48.  
  49. return 0;
  50. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement