BUSCAR
INDICE
INDICE DEL TEMA
OBJETIVOS
TEORIA
PALABRAS RESERVADAS
GLOSARIO
EJERCICIOS
RESUELTOS
AUTOEVALUACION
PROPUESTOS
ERRORES
ESTADISTICAS
INICIO
FAQS
LINKS
RECOMIENDANOS
QUIENES SOMOS
MAPA DEL WEB
COLABORAR
Tema 16 Estructuras de Datos
Ejercicios Propuestos

16.1.- Escriba un programa que concatene dos listas enlazadas de caracteres. El programa deberá incluir la función concatenate que toma como argumento apuntadores a ambas listas y que concatena la segunada lista a la primera.

16.2.- Escriba un programa que combine dos listas ordenadas de enteros en una sóla lista ordenada de enteros. La función merge deberá recibir apuntadores al primer nodo de cada una de las listas a combinarse, y deberá regresar un apuntador al primer nodo de la lista combinada.

16.3.- Escriba un programa que inserte 25 enteros al azar desde 0 hasta 100 en orden en una lista enlazada. El programa deberá calcular la suma de los elementos, y el promedio en punto flotante de los mismos.

16.4.- Escriba un programa que origine una lista enlazada de 10 caracteres, y a continuación origine una copia de la lista en orden inverso.

16.5.- Escriba un programa que introduzca una línea de texto y utilice una pila para imprimir la lista invertida.

16.6.- Escriba un programa que utilice una pila para determinar si una cadena es un palíndromo (es decir, si la cadena se deletrea en forma idéntica hacia adelante y hacia atrás). El programa deberá ignorar los espacios y puntuaciones.

16.7.- Escriba la función depth que reciba un árbol binario y que determine cuántos niveles tiene.

16.8.- (Impresión recursiva de una lista en orden inverso). Escriba una función printListBackwards que en forma recursiva extraiga los elementos en una lista en orden inverso. Utilice su función en un programa de prueba que origine una lista ordenada de enteros e imprima la lista en orden inverso.

16.9.- (Búsqueda de una lista en forma recursiva). Escriba una función searchList que busque en una lista enlazada en forma recursiva, buscando un valor específico. Si éste es hallado, la función deberá debolver un apuntador al valor; de lo contrario, NULL deberá ser regresado. Utilice su función en un programa de prueba que origine una lista de enteros. El programa deberá solicitar al usuario un valor a localizar dentro de la lista.

16.10.- (Búsqueda de árbol binario). Escriba una función binaryTreeSearch, que intenta localizar un valor especificado en un árbol de búsqueda binario. La función deberá tomar como argumentos un apuntador al nodo raíz del árbol binario y una clave de búsqueda a localizar. Si se encuentra el nodo que contenga la clave de búsqueda, la función deberá regresar un apuntador a dicho nodo; de lo contrario, la función deberá regresar un apuntador NULL.