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.
|