Reto: Modifica el programa para que permita eliminar los nodos en los que se encuentre un determinado número

Clase 27 de 37Curso de Introducción a C 2019

Partiendo del código que se encuentra en https://raw.githubusercontent.com/mchojrin/platzi_curso_c_clases/2b66b7e0178c0ae13c9434e3bf9eb08a8aad0434/linked_list.c realiza las modificaciones necesarias para poder eliminar nodos.

Tips

Suponiendo que la lista está de esta forma:

start 1.png

Nos encontramos con estos casos:

  1. El nodo que queremos eliminar no existe

  2. El nodo que queremos eliminar no es el primero

  3. El nodo que queremos eliminar es el primero

Si el nodo no existe

Este es el caso más simple, sólo se recorrerá la lista y quedará igual que al comienzo.

Si el nodo no es el primero

no es el primero.png

En este caso tendremos que saber siempre cuál era el nodo anterior para, una vez eliminado el buscado, apuntar el siguiente del anterior al siguiente del eliminado.

Si el nodo es el primero

si el nodo es el primero.png

Este es un caso especial por dos razones:

  1. No existe un nodo anterior

  2. Al finalizar la eliminación también deberemos modificar el comienzo de la lista

Tu tarea: escribir el código!