import java.util.ArrayList; public class GraphDFS { private Graph G; private boolean[] visited; private ArrayList pre = new ArrayList<>(); //先序遍历结果 private ArrayList post = new ArrayList<>();//后序遍历结果 public GraphDFS(Graph G){ this.G = G; visited = new boolean[G.V()]; // 多包一层for,防止有多个联通分量 for(int v = 0 ;v pre(){ return pre; } public Iterable post(){ return post; } public static void main(String[] args){ Graph g = new Graph("g.txt"); GraphDFS graphDFS = new GraphDFS(g); System.out.println(graphDFS.pre()); System.out.println(graphDFS.post()); } }