Apúntate...


Consultas, desarrollo de programas y petición de presupuestos:

domingo, 13 de abril de 2014

Listas enlazadas y doblemente enlazadas

Listas enlazadas:

Las listas enlazadas son un tipo de estructura de datos que ademas de tener el dato en si, contiene la referencia del elemento que le sigue.




Con este enlace,  podemos recorrer esa lista (siempre en la misma dirección),



Ejemplo:
Imagina un tren con varios vagones cargados de fruta. Con el botón adelante, podemos ver los vagones que le siguen. También es posible añadir un nuevo vagón cambiando las referencias y borrar el vagón siguiente.

Código fuente Nodo:
-

-

Codigo fuente
-

-

Captura de pantalla:






Enlace de descarga del Código fuente: archivo alojado en box.com


Listas doblemente enlazadas:



En este tipo de lista, los nodos tienen la información del nodo que le sigue y el que le es anterior (previo).
Podemos por tanto recorrer la lista en losdos sentidos.

A continuación el ejemplo anterior ampliado a listas doblemente enlazadas, donde podemos eliminar elementos como añadirlos.


Código del Nodo
-
-


Codigo fuente:
-
-



Nota:
En el evento _close() del formulario, se ha añadido el código que se encarga de borrar las referencias de a los objetos (borramos en una dirección ya que la otra se eliminará automáticamente).

Los nodos (y en general cualquier objeto), si tienen referencias no se borran y si se cierra el programa,  quedan "referencias circulares". Por lo tanto debemos antes de cerrar borrar dichas referencias, para que se pueda liberar la memoria que usa el programa.



Enlace de descarga: alojado en box.com

Fuente:
http://www.gambas-es.org/viewtopic.php?f=5&t=3632&highlight=listas+enlazadas

No hay comentarios:

Publicar un comentario

A falta de donativos... un poco de publicidad