public object removerAresta(Aresta a) { arestas.Remove(a); int indiceInicial = vertices.IndexOf(a.verticeInicial()), indiceFinal = vertices.IndexOf(a.verticeFinal()); tabela[indiceInicial, indiceFinal].Remove(a); if (!a.Direcionada) { tabela[indiceFinal, indiceInicial].Remove(a); } return(a.element); }
public Vertice oposto(Vertice v, Aresta a) { return(a.verticeInicial() == v?a.verticeFinal() : (a.verticeFinal() == v ? a.verticeInicial() : throw new Exception("Nenhum dos dois vértices é um vértice da aresta!"))); }
public Vertice[] verticesFinais(Aresta a) { return(new Vertice[] { a.verticeInicial(), a.verticeFinal() }); }