Está en la página 1de 3

Instituto Universitario Politécnico “Santiago Mariño” Asignatura: Estructura de Datos

Extensión Puerto Ordaz Docente: Ing. Víctor Valencia


Escuela de Ingeniería en Sistemas

GUIA DE EJERCICIOS DE LISTAS, PILAS Y COLAS

Listas Simples Enlazadas


1. Escriba un método que inserte nodos ordenadamente en una lista. La lista
debe almacenar números enteros. El método debe leer una secuencia de
números enteros de la entrada estándar hasta que se ingrese el número cero.
2. Escriba un método que reciba un apuntador <p> que apunta al primer nodo de
una lista simple de números enteros y devuelva el número de nodos que la
componen.
3. Escriba un método que calcule la sumatoria de los cuadrados de los elementos
de una lista simple de números flotantes. El método debe recibir un apuntador
<p> que apunta al primer nodo de la lista.
4. Escriba un método que reciba la dirección del primer nodo de una lista simple
de números enteros y devuelva un apuntador al nodo donde exista el número
<x>. Este número es recibido por el método. Se debe retornar NULL si el valor
de <x> no se encuentra en la lista.
5. Escriba un método que reciba un apuntador <p> que apunta al primer nodo de
una lista y un apuntador <q> que apunta al primer nodo de una segunda lista.
El método debe concatenar las dos listas, es decir el final de la primera debe
enlazarse con el principio de la segunda lista.
6. Escriba un método que reciba un apuntador <p> que apunta al primer nodo de
una lista. El método debe invertir la lista. La lista debe ser invertida
recorriéndola solamente una vez. Al final cada nodo debe apuntar al nodo que
antes era su predecesor. La cabeza de la lista debe ser el nodo que al
comienzo estaba al final y el nodo que antes era el primero, debe tener el valor
NULL.
7. Escriba un método que reciba un apuntador al primer nodo de una lista y
devuelva dos apuntadores. El primero debe apuntar a una lista conformada por
los nodos impares de la lista inicial y el segundo debe apuntar a una lista
conformada por los nodos pares de la lista inicial.
8. Escriba un método que dadas dos listas ordenadas de números enteros,
realice la concatenación en forma ordenada de ambas listas. El método debe
recibir los apuntadores a los primeros nodos de cada lista. (Mezcla)
9. Escriba un método recursivo que reciba un apuntador al primer nodo de una
lista simple y devuelva el número de nodos que la componen.
10. Escriba un método recursivo que reciba un apuntador al primer nodo de una
lista simple de números enteros y verifique si esta se encuentra ordenada en
forma descendente.
11. Escriba un método recursivo que reciba un apuntador al primer nodo de una
lista simple de números enteros y retorne la suma de los contenidos de los
nodos que la componen.
12. Escriba un método recursivo que reciba dos listas simplemente enlazadas de
números enteros y las compare. La función devolverá 1 si son iguales, y 0 en
caso contrario.
Instituto Universitario Politécnico “Santiago Mariño” Asignatura: Estructura de Datos
Extensión Puerto Ordaz Docente: Ing. Víctor Valencia
Escuela de Ingeniería en Sistemas

13. Escriba un método recursivo que reciba una lista simplemente enlazada de
números enteros y un número entero (n) y devuelva el n-ésimo nodo de la lista
en el caso de que exista.
14. Escriba un método recursivo que realice la búsqueda de un elemento (x) en
una lista simplemente enlazada (q). el método debe devolver un apuntador al
nodo que contiene el elemento (x) o NULL si no lo encuentra.
15. Escriba un método recursivo que reciba un apuntador al primer nodo de una
lista simple de números enteros y un número (n). el método debe devolver el
número de veces que (n) se encuentra en la lista.
16. Escriba un método que reciba un apuntador <p> que apunta al primer nodo de
una lista simple y un apuntador <q> que apunta al primer nodo de una segunda
lista simple. El método debe realizar la operación de intersección de las dos
listas. Las listas almacenan números enteros y se encuentran ordenadas
ascendentemente.
17. Escriba un método que reciba un apuntador <p> que apunta al primer nodo de
una lista simple y un apuntador <q> que apunta al primer nodo de una segunda
lista simple. El método debe realizar la operación de unión de las dos listas.
Las listas almacenan números enteros y se encuentran ordenadas
ascendentemente.

Listas Dobles Enlazadas

18. Escriba un método que reciba el apuntador al primer nodo de una lista
doblemente enlazada y devuelva la lista ordenada.
19. Escriba un método recursivo que reciba un apuntador <p> que apunta al
primer nodo de una lista doble de números enteros e invierta la lista.
20. Escriba un método que reciba un apuntador <p> que apunta al primer nodo de
una lista doble de números enteros y elimine los elementos repetidos de la
misma.
21. Escriba un método que reciba un apuntador <p> que apunta al primer nodo de
una lista simple de números enteros y retorne una lista doble con los mismos
elementos de la lista simple.

Pilas y Colas (Listas Enlazadas o Vectores)


22. Escriba una rutina que reciba una Pila P de números enteros y mueva sus
elementos a una nueva Pila, pero manteniendo el orden de salida de los
mismos. Al finalizar la Pila P no debe contener elementos.
23. Escriba una rutina que reciba una Pila P de números enteros y mueva sus
elementos a una nueva Pila, pero invirtiendo el orden de salida de los mismos.
Al finalizar la Pila P no debe contener elementos.
24. Escriba una rutina que reciba dos Pilas P1 y P2 de números flotantes y apile
las mismas en una nueva Pila resultante. Es de destacar que las Pilas
recibidas no deben sufrir ningún tipo de cambio o alteración.
Instituto Universitario Politécnico “Santiago Mariño” Asignatura: Estructura de Datos
Extensión Puerto Ordaz Docente: Ing. Víctor Valencia
Escuela de Ingeniería en Sistemas

25. Escriba una rutina que reciba dos Pilas P1 y P2 de números enteros y proceda
a intercambiar sus elementos, pero manteniendo el orden de salida de los
elementos. Al finalizar la rutina, la Pila P1 tendrá los elementos de la Pila P2 y
esta a su vez tendrá los elementos de la Pila P1.
26. Escriba una rutina que reciba una Pila P de números enteros y devuelva una
copia exacta de la misma. Es de destacar que la Pila P no debe sufrir ningún
tipo de cambio o alteración.
27. Escriba una rutina que reciba una Pila P de números flotantes y devuelva una
nueva Pila pero con los elementos invertidos, es decir el ultimo de la Pila P,
pasará a ser el primero de la nueva Pila Es de destacar que la Pila P no debe
sufrir ningún tipo de cambio o alteración.
28. Escriba una rutina que reciba una Pila P de números flotantes y devuelva una
Cola, manteniendo el orden de salida de los elementos. Es de destacar que la
Pila P no debe sufrir ningún tipo de cambio o alteración.
29. Escriba una rutina que reciba una Cola C de números enteros y mueva sus
elementos a una nueva Pila, pero manteniendo el orden de salida de los
elementos. Al finalizar la Cola C no debe contener elementos.
30. Escriba una rutina que reciba una Cola C de números enteros y mueva sus
elementos a una nueva Pila, pero invirtiendo el orden de salida de los
elementos. Al finalizar la Cola C no debe contener elementos.
31. Escriba una rutina que reciba dos Colas C1 y C2 de números enteros y
devuelva una nueva Cola con los elementos concatenados en el orden C1 y
C2. Es de destacar que las Colas recibidas no deben ser sufrir ningún tipo de
cambio o alteración.
32. Escriba una rutina que reciba dos Colas C1 y C2 de números enteros y
proceda a intercambiar sus elementos, pero manteniendo el orden de salida de
los mismos. Al finalizar la rutina, la Cola C1 tendrá los elementos de la Cola C2
y esta a su vez tendrá los elementos de la Cola C1.
33. Escriba una rutina que reciba una Cola C de números flotantes y devuelva una
nueva Cola pero con los elementos invertidos, es decir el ultimo de la Cola C,
pasará a ser el primero de la nueva Cola. Es de destacar que la Cola C no
debe sufrir ningún tipo de cambio o alteración.
34. Escriba una rutina que reciba una Cola C de números flotantes y devuelva una
Pila, manteniendo el orden de salida de los elementos. Es de destacar que la
Cola C no debe sufrir ningún tipo de cambio o alteración.

NOTA: Las clases y métodos básicos mostrados en clase deben ser incluidos en
los ejercicios.

También podría gustarte