public void eliminarNodo(Object nodoAEliminar) { NodoListaDoble nodo = (NodoListaDoble)nodoAEliminar; NodoListaDoble aux; if (nodo.getNodoAnterior() != null) { aux = nodo.getNodoAnterior(); aux.setNodoSiguiente(nodo.getNodoSiguiente()); if (nodo.getNodoSiguiente() != null) { aux = nodo.getNodoSiguiente(); aux.setNodoAnterior(nodo.getNodoAnterior()); } else { Fin = aux; } } else if (nodo.getNodoSiguiente() != null) { aux = nodo.getNodoSiguiente(); aux.setNodoAnterior(null); Inicio = aux; } else { Inicio = null; Fin = null; Actual = null; } NumeroElementos--; }
// Esta función sirve para ayudar a recorrer la lista enlazada doble con objetos dinamicos // y que pueda ser reutilizable. public Object complementarRecorrido() { if (Actual == null) { Actual = Inicio; } else { Actual = Actual.getNodoSiguiente(); } //eliminarNodo(Actual); if (Actual != null) { return(obtenerElemento(Actual)); } else { return(null); } }