/// <summary> /// Faz a busca da aresta de menor peso do vertice /// </summary> /// <returns>Retorna aresta de menor peso</returns> public Aresta GetMenorAresta() { Aresta aMenor = null; this.arestas.ForEach(aItem => { if (aMenor == null || aItem.GetPeso() < aMenor.GetPeso()) { aMenor = aItem; } }); return(aMenor); }
/// <summary> /// Compara a igualdade entre duas arestas comparando seus vértices e pesos /// </summary> /// <param name="aresta"></param> /// <returns></returns> public bool Equals(Aresta aresta) { try { Aresta comparar = (Aresta)aresta; return(comparar.getDadoVertice1.Equals(this.vertice1.GetDado()) && comparar.getDadoVertice2.Equals(this.vertice2.GetDado()) && comparar.GetPeso().Equals(this.peso)); } catch { return(false); } }
/// <summary> /// Procura por uma aresta na lista de arestas do vértice e retorna em qual posição da lista /// essa aresta está. Retorna -1 caso a aresta não exista na lista. /// </summary> /// <param name="aresta"></param> /// <returns></returns> public int getIndexAresta(Aresta aresta) { Aresta atual; for (int i = 0; i < this.arestas.Count; i++) { atual = (Aresta)this.arestas[i]; if (atual.getValorVertice1.Equals(aresta.getValorVertice1) && atual.getValorVertice2.Equals(aresta.getValorVertice2) && aresta.GetPeso() == atual.GetPeso()) { return(i); } } return(-1); }