static void Main(string[] args) { GrafoNaoDirigido g1 = LeituraArquivo.GrafoNaoDirigido(@"..\..\..\GrafosTests2\txts\NaoDirigido\Prim.txt"); GrafoDirigido gDirigido = LeituraArquivo.GrafoDirigido(@"..\..\..\GrafosTests2\txts\Dirigido\SemCiclo.txt"); Console.WriteLine("São adjacentes: " + g1.isAdjacente(g1.vertices[0], g1.vertices[1])); Console.WriteLine("Grau: " + g1.getGrau(g1.vertices[0])); Console.WriteLine("É isolado: " + g1.isIsolado(g1.vertices[0])); Console.WriteLine("É pendente: " + g1.isPendente(g1.vertices[0])); Console.WriteLine("É regular: " + g1.isRegular()); Console.WriteLine("É nulo: " + g1.isNulo()); Console.WriteLine("Completo: " + g1.isCompleto()); Console.WriteLine("É conexo: " + g1.isConexo()); Console.WriteLine("Numero de Cut Vértice: " + g1.getCutVertices()); Console.WriteLine("É Euleriano: " + g1.isEuleriano()); Console.WriteLine("É Unicursal: " + g1.isUnicursal()); Console.WriteLine("Grafo Complementar: "); g1.getComplementar().Imprimir(); Console.WriteLine("Arvore Geradora Prim: "); g1.getAGMPrim(g1.vertices[0]).Imprimir(); Console.WriteLine("Arvore Geradora Kruskal"); g1.getAGMKruskal().Imprimir(); Console.ReadKey(); }
public static GrafoDirigido GrafoDirigido(String nomeArquivo) { String s; String[] aux; StreamReader arquivoGrafo; try { arquivoGrafo = new StreamReader(nomeArquivo); int qtdVertices = int.Parse(arquivoGrafo.ReadLine()); s = arquivoGrafo.ReadLine(); Vertice[] vertices = new Vertice[qtdVertices]; int verticeX; int verticeY; while (s != null) { aux = s.Split(';'); verticeX = int.Parse(aux[0]) - 1; verticeY = int.Parse(aux[1]) - 1; if (vertices[verticeX] == null) { vertices[verticeX] = new Vertice(verticeX + 1); } if (vertices[verticeY] == null) { vertices[verticeY] = new Vertice(verticeY + 1); } int adjacencia = int.Parse(aux[3]); if (adjacencia > 0) { vertices[verticeX].AddVerticeAdjacente(vertices[verticeY], int.Parse(aux[2])); } else { vertices[verticeY].AddVerticeAdjacente(vertices[verticeX], int.Parse(aux[2])); } s = arquivoGrafo.ReadLine(); } GrafoDirigido grafo = new GrafoDirigido(VerticesPendentes(vertices)); arquivoGrafo.Close(); return(grafo); } catch (FileNotFoundException ex) { throw ex; } catch (Exception ex) { throw ex; } }