#include using namespace std; #define N 100 int visited[N]; void dfs_iterative(vector graph[], int node){ stack stack_dfs; stack_dfs.push(node); visited[node] = 1; int cur_node; while(!stack_dfs.empty()){ cur_node = stack_dfs.top(); stack_dfs.pop(); cout< graph[], int node) { if(visited[node] == 1) return; // Else visited[node]=1; cout< graph[6]; graph[1].push_back(2); graph[1].push_back(4); graph[2].push_back(1); graph[2].push_back(3); graph[2].push_back(5); graph[3].push_back(2); graph[3].push_back(5); graph[4].push_back(1); graph[5].push_back(2); graph[5].push_back(3); // Initially no node is visited initialize(); dfs(graph,1); return 0; }