Está en la página 1de 52

LISTA DOBLEMENTE ENLAZADA

ESTRUCTURA DE DATOS

AVO 2021
OPERACIONES BÁSICAS

 Insertar un nodo
 Eliminar un nodo
 Buscar un nodo
 Mostrar la lista
 Ordenar la lista

AVO 2021
COMPORTAMIENTO

Todas las operaciones pueden realizarse en cualquier sentido de la lista: desde el inicio hacia el final o desde el
final hacia el inicio.
 Sólo 1 nodo puede insertarse a la vez.
 Sólo 1 nodo puede sacarse a la vez.
 Sólo un nodo detrás de otro.
 Se inserta en cualquiel parte de la lista (inicio, fin, o en medio de la lista)
 Se elimina en cualquiel parte de la lista (inicio, fin, o en medio de la lista)
 Puede mostrarse los elementos de la lista
 Puede buscarse un nodo a lo largo de la lista

AVO 2021
LISTA VACÍA
Una Lista sin nodos es llamada una Lista vacía.

El primero y último nodo de la Lista no es ningún nodo.

ningún
primero último
nodo

AVO 2021
INSERTAR UN NODO
En una lista vacía, el nodo insertado será tanto el primero como el último de la lista.

ningún
primero último
nodo

AVO 2021
LISTA CON UN NODO
El único nodo de la lista no tiene ningún nodo ni antes ni después de él; es decir, el siguiente nodo después
del último y el anterior no es ningún nodo.

ningún
nodo
primero 5 último
ningún
nodo

AVO 2021
INSERTAR UN NODO AL PRINCIPIO DE LA LISTA
En una lista con nodos, el nodo insertado al inicio, será el nuevo el primero de la lista.

3
ningún
nodo
primero 5 último
ningún
nodo

AVO 2021
LISTA CON DOS NODOS
El siguiente nodo después del nuevo primero es ahora el último de la lista.

ningún
nodo
primero 3 5 último
ningún
nodo

AVO 2021
INSERTAR UN NODO AL PRINCIPIO DE LA LISTA
En una lista con nodos, el nodo insertado al inicio, será el nuevo el primero de la lista.

1
ningún
nodo
primero 3 5 último
ningún
nodo

AVO 2021
LISTA CON TRES NODOS
El siguiente nodo después del nuevo primero YA NO es el último de la lista.

ningún
nodo
primero 1 3 5 último
ningún
nodo

AVO 2021
INSERTAR UN NODO AL FINAL DE LA LISTA
Para insertar un nodo al final de la lista, se utiliza directamente al apuntador al último nodo.

ningún
nodo
primero 1 3 5 último
ningún
nodo

AVO 2021
INSERTAR UN NODO AL FINAL DE LA LISTA
En una lista con nodos, el nodo insertado al final, será el nuevo el último de la lista.

7
ningún
nodo
primero 1 3 5 último
ningún
nodo

AVO 2021
LISTA CON CUATRO NODOS

ningún
nodo
primero 1 3 5 7 último
ningún
nodo

AVO 2021
INSERTAR UN NODO AL FINAL DE LA LISTA
Para insertar un nodo al final de la lista, se utiliza directamente al apuntador al último nodo.

ningún
nodo
primero 1 3 5 7 último
ningún
nodo

AVO 2021
INSERTAR UN NODO AL FINAL DE LA LISTA
En una lista con nodos, el nodo insertado al final, será el nuevo el último de la lista.

9
ningún
nodo
primero 1 3 5 7 último
ningún
nodo

AVO 2021
LISTA CON 5 NODOS

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

AVO 2021
MOSTRAR UNA LISTA DE INICIO A FIN
Mostrar una lista implica desplazarse por toda la lista, desde el inicio, hasta no encontrar ningún nodo.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se coloca al inicio de la lista y se desplaza a lo largo de la lista, nodo por nodo, pidiendo a
cada nodo que muestre sus datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se desplaza a lo largo de la lista, nodo por nodo, pidiendo a cada nodo que muestre sus
datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se desplaza a lo largo de la lista, nodo por nodo, pidiendo a cada nodo que muestre sus
datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se desplaza a lo largo de la lista, nodo por nodo, pidiendo a cada nodo que muestre sus
datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

aux

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se desplaza a lo largo de la lista, nodo por nodo, pidiendo a cada nodo que muestre sus
datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

aux

AVO 2021
MOSTRAR UNA LISTA DE INICIO A FIN
Cuando, después de haber desplazado el apuntador por toda la lista, éste llega a no apuntar a ningún
nodo, se han mostrado todos los nodos y se termina el desplazamiento.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

aux

AVO 2021
MOSTRAR UNA LISTA DE FIN A INICIO
Mostrar una lista implica desplazarse por toda la lista, desde el final, hasta no encontrar ningún nodo.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se coloca al final de la lista y se desplaza a lo largo de la lista, nodo por nodo, pidiendo a
cada nodo que muestre sus datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

aux

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se desplaza a lo largo de la lista, nodo por nodo, pidiendo a cada nodo que muestre sus
datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

aux

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se desplaza a lo largo de la lista, nodo por nodo, pidiendo a cada nodo que muestre sus
datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se desplaza a lo largo de la lista, nodo por nodo, pidiendo a cada nodo que muestre sus
datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux

AVO 2021
DESPLAZARSE POR UNA LISTA
Un apuntador se desplaza a lo largo de la lista, nodo por nodo, pidiendo a cada nodo que muestre sus
datos.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux

AVO 2021
MOSTRAR UNA LISTA
Cuando, después de haber desplazado el apuntador por toda la lista, éste llega a no apuntar a ningún
nodo, se han mostrado todos los nodos y se termina el desplazamiento.

ningún
nodo
primero 1 3 5 7 9 último
ningún
aux nodo

AVO 2021
BUSCAR UN DATO EN UNA LISTA
Buscar un dato en una lista implica enviar dos apuntadores, uno desde el inicio hacia el final, y otro desde el
final hacia el inicio, nodo por nodo hasta que uno de ellos lo encuentra o se cruzan y dejan de desplazarse.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux1 aux2

AVO 2021
BUSCAR UN DATO EN UNA LISTA
Buscar un dato en una lista implica enviar dos apuntadores, uno desde el inicio hacia el final, y otro desde el
final hacia el inicio, nodo por nodo hasta que uno de ellos lo encuentra o se cruzan y dejan de desplazarse.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux1 aux2

AVO 2021
BUSCAR UN DATO EN UNA LISTA
Buscar un dato en una lista implica enviar dos apuntadores, uno desde el inicio hacia el final, y otro desde el
final hacia el inicio, nodo por nodo hasta que uno de ellos lo encuentra o se cruzan y dejan de desplazarse.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo
aux1 aux2

AVO 2021
ELIMINAR AL PRIMER NODO
En una lista con más de un nodo, eliminar al primero implica: colocar un apuntador auxiliar en el primer
nodo, desplazar el apuntador al primero hacia su siguiente para volverlo el nuevo primero, y eliminar al
antiguo primero.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

AVO 2021
ELIMINAR AL PRIMER NODO
Se coloca un apuntador auxiliar en el primer nodo.

ningún
nodo
primero 1 3 5 7 9 último
ningún
nodo

aux

AVO 2021
ELIMINAR AL PRIMER NODO
Se desplaza el apuntado del primer nodo hacia su siguiente. Y se elimina el antiguo primer nodo.

primero
ningún
nodo
1 3 5 7 9 último
ningún
nodo

aux

AVO 2021
ELIMINAR AL PRIMER NODO

primero

3 5 7 9 último
ningún
nodo

aux

AVO 2021
ELIMINAR AL PRIMER NODO

3 5 7 9 último
primero ningún
nodo

aux

AVO 2021
LISTA CON 4 NODOS
Por último, el nuevo primero YA NO DEBE apuntar a ningún nodo.

ningún
nodo
primero 3 5 7 9 último
ningún
nodo

AVO 2021
ELIMINAR AL ÚLTIMO NODO
En una lista con más de un nodo, eliminar al último implica: colocar un apuntador auxiliar en el último
nodo, desplazar el apuntador al último hacia su anterior para volverlo el nuevo último, y eliminar al antiguo
último.

ningún
nodo
primero 3 5 7 9 último
ningún
nodo

aux

AVO 2021
ELIMINAR AL ÚLTIMO NODO
Se desplaza el apuntador al último hacia su anterior para volverlo el nuevo último.

último
ningún
nodo
primero 3 5 7 9
ningún
nodo

aux

AVO 2021
ELIMINAR AL ÚLTIMO NODO
Se elimina al antiguo último.

ningún
nodo
primero 3 5 7 último

aux

AVO 2021
ELIMINAR AL ÚLTIMO NODO
Al final, el nuevo último nodo NO DEBE apuntar a ningún nodo.

ningún
nodo
primero 3 5 7 último
ningún
nodo

AVO 2021
LISTA CON 3 NODOS

ningún
nodo
primero 3 5 7 último
ningún
nodo

AVO 2021
ELIMINAR UN NODO QUE NO SEA NI EL PRIMERO NI EL ULTIMO
Implica buscarlo, desde el inicio y desde el final de la lista. Si no existe, se informa sobre su inexistencia.

ningún
nodo
primero 3 5 7 último
ningún
nodo

AVO 2021
ELIMINAR UN NODO QUE NO SEA NI EL PRIMERO NI EL ULTIMO
Implica buscarlo con dos apuntadores, desde el inicio hasta que el segundo lo encuentre; y con dos
apuntadores, desde el final hasta que el cuarto lo encuentre.

ningún
nodo
primero 3 5 7 último
ningún
nodo
aux1 aux2 aux4 aux3

AVO 2021
ELIMINAR UN NODO QUE NO SEA NI EL PRIMERO NI EL ULTIMO
Cuando el segundo apuntador lo encuentra, cesa la búsqueda.

ningún
nodo
primero 3 5 7 último
ningún
nodo
aux1 aux2 aux4 aux3

AVO 2021
ELIMINAR UN NODO QUE NO SEA NI EL PRIMERO NI EL ULTIMO
Se une el nodo del primer auxiliar con el nodo siguiente del segundo auxiliar.

ningún
nodo
primero 3 5 7 último
ningún
nodo
aux1 aux2

AVO 2021
ELIMINAR UN NODO QUE NO SEA NI EL PRIMERO NI EL ULTIMO
Se pasa el primer apuntador al siguiente del segundo.

ningún
nodo
primero 3 5 7 último
ningún
nodo
aux2 aux1

AVO 2021
ELIMINAR UN NODO QUE NO SEA NI EL PRIMERO NI EL ULTIMO
Se une el nodo del auxiliar uno con el anterior del auxiliar dos.

ningún
nodo
primero 3 5 7 último
ningún
nodo
aux2 aux1

AVO 2021
ELIMINAR UN NODO QUE NO SEA NI EL PRIMERO NI EL ULTIMO
Se elimina el nodo del auxiliar dos.

ningún
nodo
primero 3 7 último
ningún
nodo
aux2 aux1

AVO 2021
ELIMINAR UN NODO QUE NO SEA NI EL PRIMERO NI EL ULTIMO
Queda una lista doblemente enlazada correctamente.

ningún
nodo
primero 3 7 último
ningún
nodo

AVO 2021

También podría gustarte