You are on page 1of 21

Listas ENLAZADAS DOBLES Y

CIRCULARES

ACA VAN LOS NOMBRES


LISTAS CIRCULARES

 Las listas circulares son similares a las listas simplemente


enlazadas. Sim embargo, tienen la característica de que el
ultimo de la lista apunta al primero, en lugar apuntar al vacío o
Null.
 Se define una lista circular como una colección de elementos
llamados nodos en el cual el ultimo nodo apunta al primero.
CABEZAS DE LISTAS

 En muchas aplicaciones que utilizan listas enlazadas es útil


contar con un nodo cabecera, que no contiene información
relevante, y su referencia siguiente apunta al primer
elemento de la lista
 De esta manera siempre es posible definir un nodo previo a
cualquier nodo de la lista
Operaciones con listas
circulares
Inserción DE UN NODO EN UNA
LISTA VACIA
 Partiremos de que ya tenemos el nodo a insertar y, por supuesto un
puntero que apunte a él, además el puntero que define la lista, que
valdrá NULL

 1.- Lista apunte a nodo


 2.-Lista ->siguiente a nodo
Inserción DE UN NODO EN UNA
LISTA NO VACIA

1.- Hacemos que nodo -> siguiente


apunte a lista -> siguiente
Inserción DE UN NODO EN UNA
LISTA NO VACIA

2.- Después que lista ->siguiente apunte a otro lado


Eliminación DE UN NODO DE UNA
LISTA CIRCULAR

 1.- Borramos el nodo apuntado por lista


 2.- Hacemos que lista valga NULL
Eliminación DE UN NODO DE UNA
LISTA CIRCULAR CON MAS DE UN NODO

 1.- Hacemos que lista apunte al nodo anterior al que


queremos eliminar
 Lista=lista -> siguiente mientras lista -> siguiente! !=
nodo
Eliminación DE UN NODO DE UNA
LISTA CIRCULAR CON MAS DE UN
NODO
 2.- Hacemos que lista -> siguiente apunte a nodo -
>siguiente
 3.- Eliminabas el nodo
ELIMINACION DE NODO
LISTAS DOBLEMENTE ENLAZADAS

 Una lista se dice que es bidireccional o doblemente


enlazada cuando, para cada uno de los elementos que la
forman, existe una referencia al elemento anterior y otra al
elemento siguiente dentro de la estructura. Gracias a esta
estructura, se puede recorrer la lista en ambos sentidos.
LISTAS DOBLEMENTE ENLAZADAS

En la implementación de este tipo de listas hay que


considerar dos situaciones particulares:
 El elemento anterior al primero será el elemento nulo.
 El elemento siguiente al último será también el
elemento nulo.
OPERACIONES CON LISTAS
DOBLMENTE ENLAZADAS
INSERCION AL INICIO

 Con carácter general la inserción se produce la


primera vez que se encuentra un nodo cuya clave es
de un valor superior al dato que se pretende insertar.
Esto implica la modificación de cuatro referencias (dos
en el nuevo nodo, otro en el que apunta al nodo de
clave superior y otro del nodo siguiente que apunta al
actual)
INSERCION AL INICIO

se intenta insertar un
nodo de clave 5 en el
momento de haber
encontrado un nodo
de clave superior, 6
INSERCION AL Final

 En este caso el nuevo nodo se coloca al final de la lista


doblemente enlazada, convirtiéndose en el ultimo
ELIMINACION EN LISTA
DOBLEMENTE ENLAZADAS

 La operación de eliminación de un nodo en una lista


doblemente ligada, al igual que en el caso de las listas
simplemente enlazadas, consiste en eliminar un
elemento de la lista, redefiniendo los apuntadores
correspondientes y liberando el espacio de memoria
ocupado por el nodo.
ELIMINACION al inicio

 Consiste en quitar el primer nodo de la lista, cualquiera


que se sus información, redefiniendo el ´puntero al
inicio de la misma
ELIMINACION al final

 Este caso es simétrico al anterior; consiste en eliminar el


ultimo nodo de una lista y redefinir el apuntador al final
de ella

You might also like