Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lista Doblemente Enlazada: Estructura de Datos
Lista Doblemente Enlazada: Estructura de Datos
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.
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