예시소스코드

#include <iostream> #include <vector> #include <queue> #include <list> using namespace std; struct Vertex { int data; }; vector<Vertex> vertices; vector<vector<int>> adjancent; vector<bool> visited; void CreateGraph() { vertices.resize(6); adjancent = vector<vector<int>>(6); adjancent[0] = { 1,3 }; adjancent[1] = { 0,2,3 }; adjancent[3] = { 4 }; adjancent[5] = { 4 }; } //DFS void Dfs(int here) { //방문 cout << here << "방문!" << endl;; visited[here] = true; for (auto i = 0; i < adjancent[here].size(); i++) { if (visited[adjancent[here][i]] == false) { Dfs(adjancent[here][i]); } } } int main() { CreateGraph(); visited = vector<bool>(6, false); Dfs(0); }