public Digraph Reverse() { Digraph r = new Digraph(v); for (int v = 0; v < V; v++) { foreach (var w in adj[v]) { r.AddEdge(w, v); } } return(r); }
/** * Returns the reverse of the digraph. * * @return the reverse of the digraph */ public Digraph <T> reverse() { Digraph <T> reverse = new Digraph <T>(); foreach (T v in Vertices) { object nv = v.Clone(); } foreach (T v in Vertices) { foreach (T s in Successors(v)) { reverse.AddEdge(new DirectedEdge <T>(s, v)); } } return(reverse); }
/** * Returns the reverse of the digraph. * * @return the reverse of the digraph */ public Digraph <T> reverse() { Digraph <T> reverse = new Digraph <T>(); foreach (var v in this.Vertices) { var nv = v.Clone(); } foreach (var v in this.Vertices) { foreach (var s in this.Successors(v)) { reverse.AddEdge(new DirectedEdge <T>(s, v)); } } return(reverse); }