¿Te gustaría aprender Lenguaje C/C++?
Tenemos los cursos que necesitas.¡Haz clic aquí!

Eliminación de un elemento de la lista

A continuación un algoritmo para eliminar un elemento de la lista: uso de un puntero temporal para almacenar la dirección de los elementos a borrar, el elemento a eliminar se encuentra después del elemento actual, apuntar el puntero siguiente del elemento actual en dirección del puntero siguiente del elemento a eliminar, liberar la memoria ocupada por el elemento borrado, actualizar el tamaño de la lista.

Para eliminar un elemento de la lista hay varios casos: eliminación al inicio de la lista y eliminación en otra parte de la lista.

Eliminación al inicio de la lista

Ejemplo de la función:

La función devolverá -1 en caso de equivocación, de lo contrario da 0.

Etapas: el puntero sup_elem contendrá la dirección del 1er elemento, el puntero inicio apuntara hacia el segundo elemento, el tamaño de la lista disminuirá un elemento:

La función

Eliminación en otra parte de la lista

Ejemplo de la función:

La función da -1 en caso de error, si no devuelve 0.

Etapas: el puntero sup_elem contendrá la dirección hacia la que apunta el puntero siguiente del elemento actual, el puntero siguiente del elemento actual apuntara hacia el elemento al que apunta el puntero siguiente del elemento que sigue al elemento actual en la lista. Si el elemento actual es el penúltimo elemento, el puntero fin debe ser actualizado. El tamaño de la lista será disminuido en un elemento:

La función

Visualización de la lista

Para mostrar la lista entera hay que posicionarse al inicio de la lista (el puntero inicio lo permitirá). Luego usando el puntero siguiente de cada elemento la lista es recorrida del primero al ultimo elemento.
La condición para detener es proporcionada por el puntero siguiente del ultimo elemento que vale NULL.

La función

Destrucción de la lista

Para destruir la lista entera, he utilizado la eliminación al inicio de la lista porque el tamaño es mayor a cero.
La función

Ejemplo completo

lista.h


Te esperamos en el siguiente articulo en donde hablaremos mas acerca de estos temas, los cuales hoy en día son de vital importancia en el mundo de la tecnología.

¿Te gustaría aprender Lenguaje C/C++?
Tenemos los cursos que necesitas.¡Haz clic aquí!

 

About Author

NGuerrero

0 0 votos
Article Rating
Suscribir
Notificar de
guest
0 Comments
Comentarios.
Ver todos los comentarios
0
¿Te gusta este articulo? por favor comentax