Vous êtes sur la page 1sur 2

Facultad de Ingeniera UNLPam

Estructura de Datos y Algoritmos 2014

PRCTICO 5
Listas
NOTA: El prctico debe contemplar todos los consejos vistos en las unidades anteriores. Todos los integrantes del grupo debern estar presentes en la entrega del prctico.

EJERCICIO 1: Definir una funcin que produzca el ingreso ORDENADO de elementos en una lista. No se pide una funcin que ordene una lista, sino, una funcin que ubique los elementos de forma ordenada, a medida que estos sean cargados. a) Implementar como una funcin de aplicacin con el siguiente prototipo: void ordInsert(T x, Lista<T> &L); b) Implementar como una operacin bsica de listas con el siguiente prototipo: void Lista<T>::ordInsert(T x); EJERCICIO 2: Definir una funcin que concatene dos listas. a) Implementar como una funcin de aplicacin. Respetar el siguiente prototipo:
void catList(Lista<T> &l1, Lista<T> l2);

b) Implementar como una operacin bsica de listas. Respetar el siguiente prototipo:


void Lista<T>::catList(Lista<T> l2);

c) Implementar como una operacin bsica de listas utilizando el operador +. Respetar el siguiente prototipo: void Lista<T>::operator+(Lista<T> l2);

EJERCICIO 3: Definir una funcin que inserte una lista en otra en el lugar indicado. a) Implementar como una funcin de aplicacin. Respetar el siguiente prototipo:
void insList(Lista<T> &l1, int orden, Lista<T> l2);

b) Implementar como una operacin bsica de listas. Respetar el siguiente prototipo:


void Lista<T>::insList(int orden, Lista<T> l2);

EJERCICIO 4: Definir una funcin que invierta una lista. a) Implementar como una funcin de aplicacin. Respetar el siguiente prototipo:
Lista<T> invList(Lista<T> l1);

b) Implementar como una operacin bsica de listas. Respetar el siguiente prototipo:


Lista<T> Lista<T>::invList();

EJERCICIO 5: Definir una funcin que invierta una lista a partir de una posicin dada. a) Implementar como una funcin de aplicacin. Respetar el siguiente prototipo:
Lista<T> invList(Lista<T> l1, posicion p);

b) Implementar como una operacin bsica de listas. Respetar el siguiente prototipo:


Lista<T> Lista<T>::invList(posicion p);
Pgina 1

Facultad de Ingeniera UNLPam

Estructura de Datos y Algoritmos 2014

EJERCICIO 6: Definir una funcin que retorne la lista diferencia entre dos listas. a) Implementar como una funcin de aplicacin. Respetar el siguiente prototipo:
Lista<T> difList(Lista<T> l1, Lista<T> l2);

b) Implementar como una operacin bsica de listas. Respetar el siguiente prototipo:


Lista<T> Lista<T>::difList(Lista<T> l2);

c) Implementar como una operacin bsica de listas utilizando el operador -. Respetar el siguiente prototipo: Lista<T> Lista<T>::operator -(Lista<T> l2); EJERCICIO 7: Definir una funcin que retorne la lista interseccin entre dos listas. a) Implementar como una funcin de aplicacin. Respetar el siguiente prototipo:
Lista<T> itcList(Lista<T> l1, Lista<T> l2);

b) Implementar como una operacin bsica de listas. Respetar el siguiente prototipo:


Lista<T> Lista<T>::itcList(Lista<T> l2);

c) Implementar como una operacin bsica de listas utilizando el operador *. Respetar el siguiente prototipo: Lista<T> Lista<T>::operator *(Lista<T> l2); EJERCICIO 8: Definir una funcin que retorne una sublista a partir de una lista, dado el inicio y la cantidad de tems. a) Implementar como una funcin de aplicacin. Respetar el siguiente prototipo:
Lista<T> subList(Lista<T> l1, unsigned char i, unsigned char len);

b) Implementar como una operacin bsica de listas. Respetar el siguiente prototipo:


Lista<T> Lista<T>::subList(unsigned char i, unsigned char len);

EJERCICIO 9: Definir una funcin que retorne la lista que sea el resultado de intercalar los elementos de dos listas. a) Implementar como una funcin de aplicacin. Respetar el siguiente prototipo:
Lista<T> mixList(Lista<T> l1, Lista<T> l2);

b) Implementar como una operacin bsica de listas. Respetar el siguiente prototipo:


Lista<T> Lista<T>::mixList (Lista<T> l2);

EJERCICIO 10: Implementar un programa que permita mantener una agenda telefnica. Cada contacto de la agenda representa a una persona que posee un apellido, nombre, direccin, telefono y fecha de cumpleaos. La agenda esta ordenada alfabticamente por el apellido, pero posee una opcin de ordenar por el nombre del contacto. La agenda permite las siguientes funcionalidades: Agregar un contacto, mostrar los datos de uno o ms contactos a partir de su apellido o telefono y eliminar un contacto.

ATENCIN: El prctico se entrega hasta el 10/04/2014. Cada grupo deber entregar todos los ejercicios.

Pgina 2

Vous aimerez peut-être aussi