public void BuildEdge(int v1, int v2) { Vertex n1 = null, n2 = null; Vertex temp = Vfirst; while (temp != null) { int i = Decimal.Compare(v1, temp.Name); if (i == 0) { //found 1st node.. n1 = temp; break; } else { temp = temp.Next; } } //check if edge already exists for (int i = 0; i < n1.Num_Edges; i++) { int j = Decimal.Compare(v2, n1.Adjacent[i].Name); if (j == 0) { return; } } temp = Vfirst; while (temp != null) { int i = Decimal.Compare(v2, temp.Name); if (i == 0) { //found 2nd node.. n2 = temp; break; } else { temp = temp.Next; } } n1.Adjacent[n1.Num_Edges++] = n2; Edge temp2 = new Edge(n1, n2); if (Efirst == null) { Efirst = temp2; Elast = temp2; } else { temp2.AddEdge(Elast, temp2); Elast = temp2; } }
public void AddEdge(Edge x, Edge y) { x.Next = y; }