Está en la página 1de 11

Lista doblemente enlazada

Recorriendo la lista

Recorrer una lista doblemente enlazada puede ser en cualquier dirección. De hecho, la dirección
del recorrido puede cambiar muchas veces, si se desea. Recorrido es frecuentemente llamado
iteración.

Hacia adelante

Insertando un nodo
Estas funciones insertan un nodo ya sea adelante o atrás de un nodo dado:
También necesitamos una función para insertar un nodo al principio de una lista posiblemente
vacía:

La siguiente función inserta al final:


Borrando un Nodo

Eliminar un nodo es más fácil que insertar, pero requiere un manejo especial si el nodo a
eliminar es el primerNodo o el ultimoNodo:

Una sutil consecuencia del procedimiento de arriba es que eliminando el último nodo de una
lista asigna a primerNodo y a ultimoNodo a null, y de esta forma maneja correctamente
eliminar el último nodo de una lista de un solo elemento. Tampoco necesitamos separar los
métodos "EliminarAtras" o "EliminarAdelante", porque en una lista doblemente enlazada
podemos usar "Elimina (nodo.anterior)" o "Elimina (nodo.siguiente)" cuando sea válido.
También se asume que está garantizado que el nodo siendo eliminado existe. Si el nodo no
existe en la lista, entonces algún manejo de error será requerido.

Lista Doblemente Enlazada Circular

Recorriendo la lista
Asumir que algunNodo es algún nodo en una lista no vacía, este código recorre la lista
empezando por' 'algunNodo:
Lista doblemente enlazada
BIBLIOGRAFIA:

https://es.wikipedia.org/wiki/Lista_doblemente_enlazada

https://www.tutorialesprogramacionya.com/cmasmasya/detalleconcepto.php?pu

También podría gustarte