GUIA DE LABORATORIO # 4 LISTAS SIMPLEMENTE ENLAZADA.

Anuncio
Universidad Nacional Autónoma de Nicaragua.
Departamento de Computación.
Laboratorio de Algoritmo y Estructuras de Datos.
Ingeniera en Sistemas de Información – Telemática.
GUIA DE LABORATORIO # 4
LISTAS SIMPLEMENTE ENLAZADA.
OBJETIVOS:
•
Aplicar los conocimientos adquiridos en los temas anteriores sobre el manejo de las
funciones para la asignación dinámica de memoria, la cual permite al usuario crear
tipos de datos y estructuras de cualquier tamaño de acuerdo a las necesidades que
se tengan en el programa. Esto con el fin de crear una lista lineal dinámica para
almacenar la información y poner en práctica todos los conocimientos adquiridos en
la teoría.
Recuerde: una lista lineal es una lista de elementos u objetos de cualquier tipo,
que originalmente puede estar vacía, y que durante la ejecución del programa va
creciendo o decreciendo elemento a elemento según las necesidades.
TEMPORIZACIÓN:
•
Inicio de la práctica: Semana del 20 de Septiembre del 2010.
•
Tiempo de desarrollo de la práctica: 2 sesiones (4 horas).
SOFTWARE:
•
Cualquier compilador de C que cumpla con el estándar ANSI C.
Sugerencia: Compilador Microsoft Visual C++, Dev-C++, Pelles C, Geany (Linux).
NOTA: Para cada ejercicio haga uso de las definiciones de las siguientes funciones vistas en
clases:
• NuevoElemento().
• Error().
• Visualizar().
• LiberarMemoria().
Listas simplemente enlazadas en C.
1
Universidad Nacional Autónoma de Nicaragua.
Departamento de Computación.
Laboratorio de Algoritmo y Estructuras de Datos.
Ingeniera en Sistemas de Información – Telemática.
Ejercicios.
1. Escribir un programa en C que permita añadir a una lista lineal simplemente
enlazada, 10 elementos de tipo float, y luego presente por pantalla un informe con
los elementos almacenados en dicha lista.
Utilice la siguiente declaración de estructura:
struct elemento
{
float dato;
//almacena el dato leido
struct elemento *sig;
};
2. Reordenar una lista de cadena de caracteres. Lo que se pretende es introducir
una serie de cadenas de caracteres desde el teclado, luego añadirlas a una lista
lineal simplemente enlazada de forma que se almacene ordenada alfabéticamente.
La estrategia consiste en introducir cada cadena en una línea separada y terminar
al escribir la palabra FIN. Al final se deberá mostrar por pantalla un informe con
todas las cadenas ya ordenadas.
Utilizar la siguiente declaración de estructura:
struct cadena
{
char cad[30];
struct cadena *sig;
};
//almacena la cadena leída
Nota: para la ordenación de las cadenas no realice ningún tipo de intercambio
(algoritmos de ordenación), el mecanismo consiste en saber cuál es la posición
adecuada dentro de la lista para realizar la inserción.
Listas simplemente enlazadas en C.
2
Universidad Nacional Autónoma de Nicaragua.
Departamento de Computación.
Laboratorio de Algoritmo y Estructuras de Datos.
Ingeniera en Sistemas de Información – Telemática.
3. Considerar la siguiente lista de países y sus capitales:
Canadá
Perú
Ottawa
Lima
Francia
París
Alemania
Bonn
Nicaragua
Managua
Uruguay
Montevideo
Israel
Jerusalén
Italia
Roma
Paraguay
Asunción
México
Ciudad de México
Argentina
Buenos Aires
Escribir un programa en C que permita almacenar una serie de países y sus capitales
en una lista lineal simplemente enlazada. Además, el programa deberá mostrar un
informe de los países y sus correspondientes capitales y presentará la posibilidad de
buscar un país según su capital y viceversa. Para todas estas operaciones haga uso
de un menú donde el usuario pueda elegir la operación a realizar.
Utilice la siguiente declaración de estructura:
struct paises
{
char pais[30];
char capital[30];
struct paises *sig;
};
Listas simplemente enlazadas en C.
//almacena el nombre de un país
//nombre de la capital
3
Descargar