Reto 3
El algoritmo para eliminar un nodo en una lista doblemente ligada consiste en encontrar el nodo que se desea borrar y luego ajustar los enlaces de los nodos que están antes y después de él, de manera que el nodo eliminado quede fuera de la lista. Finalmente, se libera la memoria que ocupaba ese nodo.
Pasos de eliminación:
-
Si el nodo no es el primero, el nodo anterior debe apuntar al siguiente nodo.
-
Si el nodo no es el último, el nodo siguiente debe apuntar al nodo anterior.
-
Si se elimina el primer nodo (Head):
El inicio de la lista se mueve al siguiente nodo y el enlace anterior de ese nuevo primer nodo se coloca en NULL. -
Si se elimina el último nodo (Tail):
El nodo anterior pasa a ser el último de la lista y su enlace siguiente se coloca en NULL.
1. Buscar el nodo
Se recorre la lista hasta encontrar el nodo que contiene el dato que se quiere eliminar.
2. Ajustar los enlaces de los nodos vecinos
Una vez encontrado el nodo:
3. Considerar los casos especiales
De esta forma, la lista queda correctamente conectada después de eliminar el nodo.
