static void TesteVerificarVerticeImpar(TipoGrafo tipoGrafo) { Console.WriteLine("*** Verificação de vértice ímpar: ***\n"); Console.Write("\nInforme o vértice: "); int vertice = int.Parse(Console.ReadLine()); bool impar = false; if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { impar = grafoMA.Impar(vertice); } else { impar = grafoLA.Impar(vertice); } if (impar) { Console.WriteLine("\n\nO vértice informado é ímpar."); } else { Console.WriteLine("\n\nO vértice informado não é ímpar."); } }
static void TesteVerificarDoisVerticesAdjacentes(TipoGrafo tipoGrafo) { Console.WriteLine("*** Verificação de adjacência entre dois vértices: ***\n"); Console.Write("\nInforme o primeiro vértice: "); int vertice1 = int.Parse(Console.ReadLine()); Console.Write("\nInforme o segundo vértice: "); int vertice2 = int.Parse(Console.ReadLine()); bool adjacentes = false; if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { adjacentes = grafoMA.Adjacentes(vertice1, vertice2); } else { adjacentes = grafoLA.Adjacentes(vertice1, vertice2); } if (adjacentes) { Console.WriteLine("\n\nOs vértices informados são adjacentes."); } else { Console.WriteLine("\n\nOs vértices informados não são adjacentes."); } }
static void TesteImprimirSequenciaGraus(TipoGrafo tipoGrafo) { Console.WriteLine("*** Impressão da sequência de graus: ***\n"); if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { grafoMA.SequenciaGraus(); } else { grafoLA.SequenciaGraus(); } }
static void TesteImprimirLA(TipoGrafo tipoGrafo) { Console.WriteLine("*** Impressão da Lista de Adjacência: ***\n"); if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { grafoMA.ShowLA(); } else { grafoLA.ShowLA(); } }
static void TesteInclusaoAresta(TipoGrafo tipoGrafo) { Console.WriteLine("*** Inclusão de aresta: ***\n"); Console.WriteLine("Informe os dois vértices (valores de 0 a " + qtdVertices + "): \n"); Console.Write("\nVertice 1: "); int vertice1 = int.Parse(Console.ReadLine()); Console.Write("\nVertice 2: "); int vertice2 = int.Parse(Console.ReadLine()); if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { if (!grafoMA.Adjacentes(vertice1, vertice2)) { if (grafoMA.InserirAresta(vertice1, vertice2)) { Console.WriteLine("\n\nAresta inserida com sucesso!"); } else { Console.WriteLine("\n\nNão foi possível inserir a aresta entre os dois vértices informados."); } } else { Console.WriteLine("\n\nOs vértices informados já são adjacentes."); } } else { if (!grafoLA.Adjacentes(vertice1, vertice2)) { if (grafoLA.InserirAresta(vertice1, vertice2)) { Console.WriteLine("\n\nAresta inserida com sucesso!"); } else { Console.WriteLine("\n\nNão foi possível inserir a aresta entre os dois vértices informados."); } } else { Console.WriteLine("\n\nOs vértices informados já são adjacentes."); } } }
static void TesteVerificarVerticesAdjacentes(TipoGrafo tipoGrafo) { Console.WriteLine("*** Listagem de vértices adjacentes a outro: ***\n"); Console.Write("\nInforme o vértice: "); int vertice = int.Parse(Console.ReadLine()); if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { grafoMA.VerticesAdjacentes(vertice); } else { grafoLA.VerticesAdjacentes(vertice); } }
static GrafoLA grafoLA = new GrafoLA(); // Instância do grafo usando lista de adjacência static void TesteOrdem(TipoGrafo tipoGrafo) { Console.WriteLine("*** Ordem do gráfo: ***\n"); int ordem = 0; if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { ordem = grafoMA.Ordem(); } else { ordem = grafoLA.Ordem(); } Console.WriteLine("Ordem do grafo: " + ordem); }
static void TesteGrauVertice(TipoGrafo tipoGrafo) { Console.WriteLine("*** Grau de um vértice: ***\n"); Console.Write("\nInforme o vértice: "); int vertice = int.Parse(Console.ReadLine()); int grau = 0; if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { grau = grafoMA.Grau(vertice); } else { grau = grafoLA.Grau(vertice); } Console.WriteLine("\n\n O grau do vértice informado é: " + grau); }
static void TesteRemocaoAresta(TipoGrafo tipoGrafo) { Console.WriteLine("*** Remoção de aresta: ***\n"); Console.WriteLine("Informe os dois vértices (valores de 0 a " + qtdVertices + "): \n"); Console.Write("\nVertice 1: "); int vertice1 = int.Parse(Console.ReadLine()); Console.Write("\nVertice 2: "); int vertice2 = int.Parse(Console.ReadLine()); if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { if (grafoMA.Adjacentes(vertice1, vertice2)) { grafoMA.RemoverAresta(vertice1, vertice2); Console.WriteLine("\n\nAresta removida com sucesso!"); } else { Console.WriteLine("\n\nOs vértices informados não são adjacentes."); } } else { if (grafoLA.Adjacentes(vertice1, vertice2)) { grafoLA.RemoverAresta(vertice1, vertice2); Console.WriteLine("\n\nAresta removida com sucesso!"); } else { Console.WriteLine("\n\nOs vértices informados não são adjacentes."); } } }
static void TesteVerificarRegular(TipoGrafo tipoGrafo) { Console.WriteLine("*** Grafo regular: ***\n"); bool grafoRegular = false; if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { grafoRegular = grafoMA.Regular(); } else { grafoRegular = grafoLA.Regular(); } if (grafoRegular) { Console.WriteLine("O grafo é regular."); } else { Console.WriteLine("O grafo não é regular."); } }
static void TesteVerificarCompleto(TipoGrafo tipoGrafo) { Console.WriteLine("*** Grafo completo: ***\n"); bool grafoCompleto = false; if (tipoGrafo == TipoGrafo.MATRIZ_ADJACENCIA) { grafoCompleto = grafoMA.Completo(); } else { grafoCompleto = grafoLA.Completo(); } if (grafoCompleto) { Console.WriteLine("O grafo é completo."); } else { Console.WriteLine("O grafo não é completo."); } }