private void factible(ElementoDijkstra aux) { int total = 0; for (int i = 0; i < aux.getActual().getLista().Count; i++) { total += aux.getPeso() + aux.getActual().getLista()[i].getPonderacion(); //aux.getActual().getLista()[i] if (total < candidatos[aux.getActual().getLista()[i].getDestino().getID() - 1].getPeso()) { candidatos[aux.getActual().getLista()[i].getDestino().getID() - 1].setPeso(total); candidatos[aux.getActual().getLista()[i].getDestino().getID() - 1].setProveniente(aux.getActual()); } total = 0; } }
public ElementoDijkstra seleccion() { ElementoDijkstra auxiliar = new ElementoDijkstra(infinito + 1, null); int j = -1; for (int i = 0; i < candidatos.Count; i++) { if (!candidatos[i].getDefinitivo()) { if (candidatos[i].getPeso() < auxiliar.getPeso()) { auxiliar = candidatos[i]; j = i; } } } candidatos[j].setDefinitivo(true); return(auxiliar); }