Estructuras de Datos Listas Enlazadas
Estructuras de Datos Listas Enlazadas
Estructuras de Datos Listas Enlazadas
Apun
Información
tador
Listas Enlazadas
• Si la lista está vacía, el elemento inicio apunta
hacia el final.
• Como la locomotora pegada con el cabuz.
Ini
Listas Enlazadas
• Si se acopla un vagón, la locomotora se
conecta al vagón 1 y el vagón 1 al cabuz.
Ini e1
Listas Enlazadas
• Si se acopla otro vagón, ahora el vagón 1 se
conecta al vagón 2, y el vagón 2 al cabuz.
Ini e1 e2
Listas Enlazadas
• Si se acopla otro vagón, ahora el vagón 2 se
conecta al vagón 3, y el vagón 3 al cabuz.
Ini e1 e2 e3
Listas Enlazadas
• Y así sucesivamente hasta que se conecten n
elementos.
Ini e1 e2 e3 ...
Listas Enlazadas
• Y así sucesivamente hasta que se conecten n
elementos.
Ini e1 e2 e3 ... en
Listas Enlazadas
Listas Enlazadas
Listas Enlazadas
• Existen diferentes tipos de listas enlazadas: listas enlazadas
simples, listas doblemente enlazadas, listas enlazadas
circulares y listas enlazadas doblemente circulares.
• ¿Dónde se aplica eso?
– Listas enlazadas simples: Ej: Lista de reproducción de tus
canciones en le Windows Media Player, reproducción simple, y
termina en la última canción.
– Listas doblemente enlazadas: La lista de canciones, pero se le
puede poner que avance hacia atrás o hacia adelante (botones
de siguiente y anterior).
– Listas enlazadas circulares: Igual que la lista simple, pero
llegando al final apunta y se regresa de nuevo a la primera.
– Listas doblemente enlazadas circulares La combinación de todo
lo anterior.
Listas Enlazadas
• Matemáticamente, una lista es una secuencia de cero o más
elementos de un determinado tipo.
(a1, a2, a3, ... , an) donde n >= 0,
si n = 0 la lista es vacía.
• La implementación una Lista requiere, en primer lugar, declarar la
clase Nodo, en la que se combinarán sus dos partes: el dato
(entero, real, doble, carácter o referencias a objetos) y un enlace.
Además, la clase Lista con las operaciones y el atributo con la cabeza
de la lista. Las operaciones tendrán las siguientes funciones:
– Inicialización o creación.
– Insertar elementos en la lista.
– Eliminar elementos de la lista.
– Buscar elementos de la lista.
– Recorrer la lista enlazada.
– Comprobar si la lista está vacía.
Listas Enlazadas
Al inicio de la lista se coloca un nodo cabeza,
que solamente apunta hacia el siguiente nodo.
El último nodo de la lista se conecta a null.
Listas Enlazadas
• La Figura 8.6 muestra una lista a la que se accede con la
referencia cabeza;
• cada nodo está enlazado con el siguiente nodo.
• El último nodo, cola o final de la lista, no se enlaza con otro
nodo, por lo que su campo de enlace contiene la referencia
nulo, null.
• La palabra null representa la referencia nulo, que es una
constante especial de Java. Se puede utilizar null para
cualquier valor de referencia que no apunte a objeto
alguno. En este caso, al final de la lista.
Listas Enlazadas
• Cada referencia a un nodo debe ser declarada
como una variable referencia.
• Por ejemplo, si se mantiene una lista enlazada
con una referencia de cabecera y otra de cola,
se deben declarar dos variables referencia:
– Nodo cabeza, que representa el inicio
– Nodo cola, que representa el final
Inicio 5 enlace 1 enlace 8 enlace 20 enlace
naux enlace
1 enlace
nn enlace