public override string ToString() { StringWriter sw = new StringWriter(); for (int i = 0; i < G.V; ++i) { sw.WriteLine(Name(i) + ":"); foreach (var item in G.Adj(i)) { sw.WriteLine("\t" + Name(item)); } } return(sw.GetStringBuilder().ToString()); }
private void dfs(Digraph g, int v) { marked[v] = true; foreach (var w in g.Adj(v)) { if (!marked[w]) { //存在没有访问的顶点 dfs(g, w); } } //所有的顶点已经访问了 results.Push(v); }