Вы находитесь на странице: 1из 3

Universidad Nacional experimental de Guayana Vicerrectorado acadmico Coordinacin de Ing. En informtica.

Asignatura: Estructura y tipo de datos Docente: Ing. Rodrigo Higuera. Pg.: 1

Gua de Ejercicios:
Listas simplemente enlazadas
Implementar el TAD lista para resolver los siguientes problemas planteados: 1. Crear la clase NODO y la clase Lista vista en clase que posea como dato un elemento entero y un puntero siguiente a la misma clase NODO. Realizar un mtodo que reciba un valor entero y un parmetro e. La lista debe almacenar nmeros enteros pues si el valor del parmetro e es 0 se debe almacenar ese nmero como primer elemento de la lista en caso contrario debe ubicarse al final de la lista. 2. Realizar un mtodo add_order que recibir un valor entero y se encargara de ir insertando dichos valores de manera ordenada en la lista. 3. Escriba un mtodo que reciba una referencia del primer NODO de la lista <p> que es una lista simple de nmeros enteros y devuelva el nmero de nodos que la componen. 4. Escriba un mtodo que calcule la sumatoria de los cuadrados de los elementos de una lista simplemente enlazada de nmeros flotantes. La funcin debe recibir una referencia del primer NODO de la lista <p> que apunta al primer nodo de la lista. 5. Realizar un mtodo lgico llamado comparaListas que verifique si dos listas son exactamente iguales se deben recibir las dos referencias a los punteros iniciales de cada lista. Se dice que dos listas son exactamente iguales si poseen la misma cantidad de elementos y la misma informacin en la lista. 6. Realizar un mtodo polimrfico de comparaListas que solo reciba una referencia al NODO principal de la lista a comparar, la otra lista con la cual se comparara ser la lista que invoca el mtodo. 7. Realizar un mtodo que reciba el NODO inicial de una lista simplemente enlazada de nmeros enteros y dos Objetos de la clase Lista, el mtodo se encargara de devolver en el primer objeto la lista compuesta por todos los nodos pares de la lista original, mientras que en el segundo objeto del tipo Lista se devolver los dgitos impares. 8. Escriba un mtodo que reciba una referencia del primer nodo de una lista

simple de nmeros enteros y devuelva el nodo donde exista el nmero <x>. Este nmero es recibido por el mtodo. Se debe retornar NULL si el valor de <x> no se encuentra en la lista.
9. Escriba un mtodo que reciba una referencia <p> que apunta al primer nodo de

una lista y una referencia <q> que apunta al primer nodo de una segunda lista.

Universidad Nacional experimental de Guayana Vicerrectorado acadmico Coordinacin de Ing. En informtica.

Asignatura: Estructura y tipo de datos Docente: Ing. Rodrigo Higuera. Pg.: 2

El mtodo debe concatenar las dos listas, es decir el final de la primera debe enlazarse con el principio de la segunda lista.
10. Escriba un mtodo que reciba una referencia <p> que apunta al primer nodo de una lista. El mtodo debe invertir la lista. La lista debe ser invertida recorrindola 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. 11. Escriba un mtodo que dadas dos listas ordenadas de nmeros enteros, realice

la concatenacin en forma ordenada de ambas listas. La funcin debe recibir los apuntadores a los primeros nodos de cada lista. (algoritmo de Mezcla)
12. Escriba un mtodo recursivo que reciba una referencia al primer nodo de una

lista simple y devuelva el nmero de nodos que la componen.


13. Escriba un mtodo recursivo que reciba dos listas simplemente enlazadas de

nmeros enteros y las compare. La funcin devolver 1 si son iguales, y 0 en caso contrario.
14. Escriba una funcin recursiva que reciba una lista simplemente enlazada de

nmeros enteros y un nmero entero (n) y devuelva el n-simo nodo de la lista en el caso de que exista.
15. Escriba una funcin recursiva que realice la bsqueda de un elemento (x) en

una lista simplemente enlazada (q). La funcin debe devolver un apuntador al nodo que contiene el elemento (x) o NULL si no lo encuentra.
16. Escriba una funcin recursiva que reciba un apuntador al primer nodo de una

lista simple de nmeros enteros y un nmero (n). La funcin debe devolver el nmero de veces que (n) se encuentra en la lista.
17. Escriba una funcin 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. La funcin debe realizar la operacin de interseccin de las dos listas. Las listas almacenan nmeros enteros y se encuentran ordenadas ascendentemente.

Universidad Nacional experimental de Guayana Vicerrectorado acadmico Coordinacin de Ing. En informtica.

Asignatura: Estructura y tipo de datos Docente: Ing. Rodrigo Higuera. Pg.: 3

Listas doblemente enlazadas


18. Crear la clase NODODOBLE y la clase ListaDoble que posea un tipo de elemento y una referencia de un puntero siguiente y uno anterior a la misma clase NODODOBLE. 19. Escriba un mtodo que reciba una referencia a la cabecera de una lista doblemente enlazada y devuelva la lista ordenada de maneras descendente. 20. Escriba un mtodo que reciba una la cabecera de una lista doblemente enlazada y retorne la lista invertida. 21. Escriba un mtodo que reciba una referencia a la cabecera de una lista <p> que

apunta al primer nodo de una lista simple de nmeros enteros y retorne una lista doble con los mismos elementos de la lista simple.

Вам также может понравиться