/* * Método para adicionar vértices e arestas aos grafos */ private void preencher_Grafo() { string[] Linha; int pesoAresta; Vertice Vert_1, Vert_2; Vertice Vert_1_aux, Vert_2_aux; Aresta novaAresta; for (int i = 1; i < this.Arquivo.Length; i++) { Linha = this.Arquivo[i].Split(';'); if (Linha[0] == "") { continue; } Vert_1 = new Vertice(Linha[0]); Vert_2 = new Vertice(Linha[1]); Vert_1_aux = this.procurar_Vertice(Vert_1); Vert_2_aux = this.procurar_Vertice(Vert_1); if (Vert_1_aux == null) { this.Lista_Vertice.Add(Vert_1); } else { Vert_1 = Vert_1_aux; } if (Vert_2_aux == null) { this.Lista_Vertice.Add(Vert_1); } else { Vert_2 = Vert_2_aux; } // verifica se um vértice não consta na lista de adjacência do outro, // chama os métodos para adicionar adjacente para o vértice 1 e 2 if (!this.IsAdjacente(Vert_1, Vert_2)) { Vert_1.adicionar_Adjacente(Vert_2); Vert_2.adicionar_Adjacente(Vert_1); } pesoAresta = int.Parse(Linha[2]); novaAresta = new Aresta(pesoAresta, Vert_1, Vert_2); this.Lista_Aresta.Add(novaAresta); Vert_1.adicionar_Aresta(novaAresta); Vert_2.adicionar_Aresta(novaAresta); } }
/* * Méotodo para adicionar aresa */ public void adicionar_Aresta(Aresta aresta) { this.aresta.Add(aresta); }