コード例 #1
0
        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--;
        }
コード例 #2
0
        // 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);
            }
        }