Programa lista doblemente enlazada

Páginas: 9 (2129 palabras) Publicado: 21 de mayo de 2013
PRÁCTICA I. INFORMÁTICA INDUSTRIAL 2012/13
LISTA DOBLEMENTE ENLAZADA



























ÍNDICE
1- Descripción del problema y de las soluciones adoptadas
2- Resultados y conclusiones
3- Bibliografía
4- Código fuente







































DESCRIPCIÓN DEL PROBLEMA Y DE LAS SOLUCIONES ADOPTADASEn esta práctica se pide que partiendo del programa de la lista simplemente enlazada presentado en clase se añada un nuevo puntero a la estructura para implantar una lista doblemente enlazada, para ello hay que modificar el código fuente donde sea necesario para gestionar el nuevo enlace. Además hay que incluir una nueva opción en el menú de la lista que permita la visualización en ordenalfabético inverso.

Para implantar la lista doblemente enlazada he añadido al programa un puntero llamado elem_anterior además del puntero ya existente (siguiente) , para no crear más variables globales, y realizo todos los cambios oportunos en el código fuente de la función principal así como en las demás funciones, para adaptarse a los dobles punteros.

Para incluir la nueva opción para visualizarla lista en orden alfabético inverso creo una nueva función llamada ImprimeListaInversa, que realiza dicha tarea.

Para mejorar el funcionamiento del programa he introducido una función que detecte los usuarios duplicados y también hacer que el programa no se cierre si no encuentra el archivo a cargar. Además he cambiado donde aparecía la función strcmp por stricmp para que al comparardiferencie entre mayúsculas y minúsculas.

Para mejorar la visualización del programa he separado la función principal de las demás funciones en dos pestañas diferentes, siendo más fácil la lectura del programa y he dado una estructura homogénea a todo el código fuente. Además he tenido especial atención al poner los nombres a las constantes y a las funciones para que fueran simbólicas y he procuradoque mediante el uso de sangrías, paréntesis, espacios y líneas en blanco el código fuera más agradable para su lectura.









RESULTADOS Y CONCLUSIONES

El resultado de la práctica ha sido la familiarización con las estructuras de datos autorreferenciadas, y la obtención de un programa con una lista doblemente enlazada mediante punteros dobles que cumple con las funcionalidadespedidas. El programa es de agradable lectura y funciona correctamente.

Tras varias pruebas de ejecución no he detectado errores ni en el código fuente ni en la ejecución del programa, aún en casos potencialmente conflictivos, por lo que concluyo que el programa esta finalizado y tras la revisión cumple todos los requisitos pedidos en la práctica.

Las listas doblemente enlazadas son muy útiles encuanto a que no necesitan un nodo especial para acceder a ellas,  pueden recorrerse en ambos sentidos a partir de cualquier nodo, esto es porque a partir de cualquier nodo, siempre es posible alcanzar cualquier nodo de la lista, hasta que se llega a uno de los extremos, lo que las hace muy versátiles y fáciles de manejar en determinados casos.










BIBLIOGRAFÍA-http://decsai.ugr.es/~jfv/ed1/tedi/cdrom/docs/ldoble.html
- http://es.kioskea.net/faq/2872-listas-doblemente-enlazadas
- http://ldcastillo.wordpress.com/tema-2-listas-doblemente-enlazadas/
- http://www.youtube.com/watch?v=EQCg9tlbKFk
-Programación estructurada en C, James L. Antonakos



CÓDIGO FUENTE
/*************************PRÁCTICA I. INFORMÁTICA INDUSTRIAL 2012/13**************************//*********************************LISTA DOBLEMENTE ENLAZADA*******************************/
/**********************************************************************************************/
/***************************************************************Realizado por: Daniel Hernández Pina**/
/***************************************************************Valladolid a 06 de Noviembre de 2012**/
/*...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • listas circulares y doblemente enlazadas
  • Implementacion de listas doblemente enlazadas
  • Listas Circulares Doblemente Enlazadas
  • Listas doblemente enlazadas
  • Listas doblemente enlazadas
  • Listas doblemente enlazadas
  • Listas doblemente enlazadas
  • Listas doblemente enlazadas

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS