//Fun��o que calcula a soma dos pesos das arestas de um caminho.
public void calculaPeso(Caminho c){
for(int i = 0; i < c.getCaminho().size()-1; i++){
No no1 = grafo.buscaNo(c.getCaminho().get(i)); //N� n pertencente ao caminho
No no2 = grafo.buscaNo(c.getCaminho().get(i+1)); //No n+1 pertencente ao caminho
for(int j = 0; j < no1.getVizinhos().size(); j++){ //Procura os vizinhos do n-�simo n�
if(no1.getVizinhos().get(j).getValor() == no2.getValor()){ //testa se o valor do n+1-�simo n� est� entre as arestas do n-�simo n�
c.setAptidaoAbsoluta(c.getAptidaoAbsoluta()+no1.getVizinhos().get(j).getPeso());
}
}
}
//Final do caminho ligando ao seu in�cio
No aux1 = grafo.buscaNo(c.getCaminho().get(c.getCaminho().size()-1));
No aux2 = grafo.buscaNo(c.getCaminho().get(0));
//Fecha o ciclo do caminho. Isso n�o � feito nos comandos acima.
for(int j = 0; j < aux1.getVizinhos().size(); j++){ //Procura os vizinhos do n-�simo n�
if(aux2.getValor() == aux1.getVizinhos().get(j).getValor()){ //testa se o valor do n+1-�simo n� est� entre as arestas do n-�simo n�
c.setAptidaoAbsoluta(c.getAptidaoAbsoluta()+aux1.getVizinhos().get(j).getPeso());
break;
}
}
}