You are on page 1of 6

Participante

Jonas Román Espaillat


Matricula
1000-35092
Tema
Listas Enlazadas
Asignatura
Estructura de datos y algoritmos
Facilitador
Tomás F. Ramírez Pérez
Fecha
05/24/2023
I)Escribir un programa que realicen las siguientes tareas:
• Crear una lista enlazada de números enteros positivos al azar. Insertar por el último
nodo.
• Recorrer la lista para mostrar los elementos por pantalla.
• Eliminar todos los nodos que superen un valor dado.
Función Main:

El programa genera una lista enlazada aleatoria, permite al usuario definir un valor máximo y
elimina los nodos de la lista que superen ese valor, mostrando el resultado final.
Función insertar nuevo nodo por el ultimo

La función insertar_new_nodo se encarga de insertar un nuevo nodo en la lista enlazada.

Crea un nuevo nodo, asigna el valor pasado como argumento a dicho nodo y lo coloca en la lista
como el primer nodo si la lista está vacía, o como un nodo adicional al final si la lista ya tiene
elementos.
Función para mostrar la lista

La función mostrar_lista se encarga de recorrer la lista enlazada y mostrar los valores de cada
nodo en orden. Inicia con un puntero actual apuntando al primer nodo de la lista. Luego, en un
bucle while, se recorre la lista mientras actual no sea nulo.

En cada iteración, se muestra el valor del nodo actual utilizando std: cout << actual->data << " ", y
luego se actualiza actual para que apunte al siguiente nodo de la lista mediante actual = actual-
>next. Finalmente, se muestra un salto de línea para separar la lista de nodos mostrada.
Función para eliminar los nodos mayores que un numero dado

La función eliminar_nodo_mayor_que recorre la lista enlazada y elimina los nodos cuyos valores
sean mayores que el valor dado. Utiliza dos punteros, actual y anterior, para recorrer la lista y
mantener un seguimiento del nodo actual y el nodo anterior al actual. Si el valor del nodo actual es
mayor que el valor dado, se actualizan los punteros para eliminar el nodo de la lista.

Si el nodo a eliminar es el primer nodo (actual == primero), se actualiza primero para que apunte
al siguiente nodo. Si el nodo a eliminar es el último nodo (actual == ultimo), se actualiza ultimo
para que apunte al nodo anterior.

Se elimina el nodo utilizando delete, manteniendo la integridad de la lista enlazada.


LINK CODIGO CPP GOOGLE DRIVE:

https://drive.google.com/drive/folders/1ERXenfUepGDtNTBohvBe30Yh_yhbmmHw?usp=sharing

You might also like