Estructura de Datos : Lista Enlazada Doble Encabezada


Definiciones


Representaciones

Representación Gráfica ( Graphic Representation )

               +---+
             L |   |......
               +---+     .
                         .       LLINK  DATA  RLINK
                         ......>+------------------+
                           .....|..*  | ---- |  *..|....                                 Nodo Cabeza                                     Lista Vacia
                           .    +------------------+   .
                           .       A            A      .
                           .       .            .      .
                           .........            ........


               +---+
             L |   |......
               +---+     .
                         .       LLINK  DATA  RLINK
                         ......>+------------------+
 ..............................>|  *  | ---- |  *  |<..............................      Nodo Cabeza                                     Lista Vacia
 .                              +------------------+                              .
 .                                 .            .                                 .
 .                                 .            .                                 .
 .                                 .            .                                 .
 .                                 ..................................             .
 .             ..................................                   .             .
 .             .                                                    .             .
 .             .                                                    .             .
 .             .     ...............            ...............     .             .
 .             .     .             .            .             .     .             .
 .             v     .             V            .             V     V             .
 .   +------------------+       +------------------+       +------------------+   .
 ....|..*  | ---- |  *  |       |  *  | ---- |  *  |       |  *  | ---- |  *..|....      Nodos Datos
     +------------------+       +------------------+       +------------------+
                     A             .            A             .
                     .             .            .             .
                     ...............            ...............


La escencia de las Listas Enlazadas Dobles Encabezadas

                     RLINK(LLINK(P)) = P    P = LLINK(RLINK(P))

                     ...............            ...............
                     .             .            .             .
                     .             V            .             V
     +------------------+       +------------------+       +------------------+
 ....|..*  | ---- |  *  |       |  *  | ---- |  *  |       |  *  | ---- |  *..|....      Nodos Datos
     +------------------+       +------------------+       +------------------+
                     A             .   Nodo P   A             .
                     .             .            .             .
                     ...............            ...............

                     Voy hacia atras           Voy hacia delante
                         y vuelvo                   y vuelvo


Funciones

Eliminación ( Delete )

Elimina el nodo Y de la lista L, ambas variables de entrada.

Ejercicio : Implementar un procedimiento que elimina el contenido C de un lista enlazada doble encabezada.

Inserción ( Insert )

Inserta el nodo Y en la lista L, luego del nodo X, todas variables de entrada.

Ejercicio : Implementar un procedimiento que agrega el contenido C en una lista enlazada doble encabezada.