private void copyLinkedGraph(Graph to) { to.Clear(); to.Directed = this.Directed; for (int i = 0; i < this.GetVertices().Count; i++) { vertices[i].Tag = i; Vertex v = new Vertex(); v.Tag = i; to.AddVertex(v); } for (int i = this.GetEdges().Count - 1; i >= 0; i--) { Edge currentEdge = this.GetEdges()[i]; Vertex v1 = new Vertex(); v1.Label = currentEdge.GetFromVertex().Label; int cd = (int)currentEdge.GetFromVertex().Tag; if ((int)to.GetVertices()[cd].Tag == cd) { v1 = to.GetVertices()[cd]; } Vertex v2 = new Vertex(); v2.Label = currentEdge.GetToVertex().Label; int cd2 = (int)currentEdge.GetToVertex().Tag; if ((int)to.GetVertices()[cd2].Tag == cd2) { v2 = to.GetVertices()[cd2]; } Edge e = currentEdge; e = new Edge(v1, v2, currentEdge.Weight); to.AddEdge(e); } }
private void copyLinkedGraph(Graph to) { to.Clear(); to.Directed = this.Directed; for (int i = 0; i < this.GetVertices().Count; i++) { vertices[i].Tag = i; Vertex v = new Vertex(); v.Tag = i; to.AddVertex(v); } for (int i = this.GetEdges().Count-1; i >= 0; i--) { Edge currentEdge = this.GetEdges()[i]; Vertex v1 = new Vertex(); v1.Label = currentEdge.GetFromVertex().Label; int cd = (int)currentEdge.GetFromVertex().Tag; if ((int)to.GetVertices()[cd].Tag == cd) { v1 = to.GetVertices()[cd]; } Vertex v2 = new Vertex(); v2.Label = currentEdge.GetToVertex().Label; int cd2 = (int)currentEdge.GetToVertex().Tag; if ((int)to.GetVertices()[cd2].Tag == cd2) { v2 = to.GetVertices()[cd2]; } Edge e = currentEdge; e = new Edge(v1, v2, currentEdge.Weight); to.AddEdge(e); } }