public class MainDriver{
public static void main(String[] args) {
Graph mygraph = new Graph(22);
mygraph.addEdge(1,2);
mygraph.addEdge(2,4);
mygraph.addEdge(2,5);
mygraph.addEdge(4,8);
mygraph.addEdge(4,9);
mygraph.addEdge(8,16);
mygraph.addEdge(8,17);
mygraph.addEdge(9,18);
mygraph.addEdge(9,19);
mygraph.addEdge(5,10);
mygraph.addEdge(5,11);
mygraph.addEdge(10,20);
mygraph.addEdge(10,21);
mygraph.addEdge(1,3);
mygraph.addEdge(3,6);
mygraph.addEdge(3,7);
mygraph.addEdge(6,12);
mygraph.addEdge(6,13);
mygraph.addEdge(7,14);
mygraph.addEdge(7,15);
}
DepthFirstSearch dfs = new DepthFirstSearch();
}
public class DepthFirstSearch{
private boolean[] marked;
private int count;
public DepthFirstSearch(Graph G, int s) {
marked = new boolean[G.getV()];
dfs(G, s);
}
private void dfs(Graph G, int v) {
marked[v] = true;
System.out.print(v);
count++;
for (int w : G.adj(v)) {
if (!marked[w]) {
dfs(G, w);
}
}
}
public boolean marked(int w) {
return marked[w];
}
public int count() {
return count;
}
}
//I can't show any output? how's that?