Las
listas doblemente enlazadas son estructuras de datos semejantes a las listas enlazadas
simples.
La asignación de memoria es hecha al momento de la ejecución.
En cambio, en relación a la listas enlazada
simple el enlace entre los elementos se hace gracias a dos
punteros (uno que apunta hacia el elemento anterior y otro que apunta hacia el
elemento siguiente).
El
puntero anterior del primer elemento debe apuntar
hacia NULL (el inicio de la lista).
El puntero siguiente del último elemento debe apuntar
hacia NULL (el fin de la lista).
Para acceder a un elemento, la lista puede ser recorrida en ambos sentidos:
comenzando por el inicio, el puntero siguiente permite el
desplazamiento hacia el próximo elemento; comenzando por el final, el
puntero anterior permite el desplazamiento hacia el elemento
anterior.
Resumiendo, el desplazamiento se hace en ambas direcciones, del primer al
último elemento y/o del último al primer elemento.
Para
definir un elemento de la lista será utilizado el tipo struct.
El elemento de la lista contendrá un campo dato, un
puntero anterior y un puntero siguiente.
Los punteros anterior y siguiente deben ser del mismo tipo
que el elemento, de lo contrario no va a poder apuntar hacia un elemento de la
lista.
El puntero anterior permitirá
el acceso hacia el elemento anterior mientras que el puntero siguiente permitirá el acceso hacia el próximo
elemento.
|
Mentefacto de las Listas Dobles |
|
Estructura que posee una Lista Doblemente Enlazada
|