Sobre listas enlazadas en C

Soy estudiante de ingeniería informática, y tengo una asignatura de programación en C.Tengo que estudiar las listas enlazadas y tengo libros y eso pero es un jaleo, no entiendo nada. Me gustaría que me explicases un poco de que va con las asignaciones claves y eso.

1 respuesta

Respuesta
1
Para poder entender el poder de una lista ligada visualiza este ejemplo:
Supón que haces un programa para un hospital, en la cual toda la información de sus pacientes debe estar cargada a memoria RAM para un acceso rapido a los datos. Mientras diseñas la aplicación te das cuenta que el numero de pacientes que tiene el hospital es de 1000. Por lo que creas un arreglo de 2000 registros (por si crece el numero de pacientes)así, reg_paciente pacientes[2000], donde almacenaras los registros cargándolos desde un archivo. Ahora piensa que en el transcurso de un año incrementa la población de pacientes y ahora tienen 3000!. Necesitarías modificar el código y ponerle 5000 (más o menos) al arreglo para que funcione y para prevenir que el programa falle en caso de que aumentara el numero de pacientes. Ahora supón que la población se permanece en 3000, ESTAS DESPERDICIANDO 2000 ESPACIOS DE MEMORIA CADA UNO DE sizeof(registro) BYTES!.
Podrías pensar en otra analogía: imagina que tienes una compañía que recoge basura de contenedores en una ciudad. Podrías tener un camión grande que haga toda la recolecta, pero, ¿qué pasaría si al transcurso de los años la población crece y ahora hay más contenedores que recoger y más basura? La solución no esta en comprar un camión cada vez más grande, sino en ir comprando camiones cuando se necesiten.
En conclusión, las listas ligadas te permiten utilizar la memoria eficientemente y sirven de reemplazo de los arreglos para casos como este, o sea, cuando se desconoce de antemano el numero de registros que necesitaras, es decir, si crece el tamaño de la población el uso de listas ligadas permitirá un crecimiento a la par solo limitado por la memoria RAM de la computadora.
Espero que esta mini-explicación te pueda servir, si aun tienes dudas del uso de listas enlazadas o dudas sobre como implementarlas no dudes en escribir.
Antes de nada perdón por si te pregunto muchas cosas, tengo unas dudillas:
-Me gustaría que me explicases un programa de inserción de elementos, es que me formo un jaleo con los punteros de la leche.
-Cuando dices que el crecimiento de las listas enlazadas esta sólo limitado por la memoria RAM, por qué es la memoria RAM y no el disco, muchas gracias.
Cuando trabajas con listas ligadas utilizas punteros. Los punteros hacen referencia a direcciones de memoria RAM y no de disco duro, esa es la manera que se trabaja debido a que el acceso a disco duro es mucho más lento que el acceso a memoria RAM.
Primero necesitas aprender sobre el uso de punteros, que es uno de los temas más complejos de programación en C, pero no te asustes porque, Si millones de personas lo han dominanado, ¿por qué tu no?.
Si necesitas un ejemplo completo del manejo de listas enlazadas anteriormente conteste. Puedes copiar la respuesta, crear un archivo, compilarlo y correrlo para que veas como funciona la lista ligada.
La pregunta contestada es:
http://www.todoexpertos.com/mitodoexpertos/leermsg.asp?f=0&idproceso=99765
Copia y pega esta liga a tu navegador para ver la respuesta.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas