protected ArrayList<Nodo> actualizarAbiertos( ArrayList<Nodo> lAbiertos, ArrayList<Nodo> lCerrados, ArrayList<Nodo> lvecinos, Nodo nFinal) { Nodo nVecino = null; // ArrayList<Nodo> auxLAbiertos=lAbiertos; boolean estaEnAbiertos = false; boolean estaEnCerrados = false; for (int i = 0; i < lvecinos.size(); i++) { estaEnAbiertos = false; estaEnCerrados = false; nVecino = lvecinos.get(i); for (int k = 0; k < lCerrados.size(); k++) { if (nVecino.comparaEsNodo(lCerrados.get(k))) { estaEnCerrados = true; } } if (!estaEnCerrados) { for (int j = 0; j < lAbiertos.size(); j++) { if (nVecino.comparaEsNodo(lAbiertos.get(j))) { estaEnAbiertos = true; if (nVecino.getCosteF() < lAbiertos.get(j).getCosteF()) { lAbiertos.remove(j); lAbiertos.add(nVecino); } } } if (!estaEnAbiertos) lAbiertos.add(nVecino); } } return lAbiertos; }