Beruflich Dokumente
Kultur Dokumente
Lista Enlazadas
Es una coleccin o secuencia de elementos dispuestos uno detrs de otro, en la que cada
Lista Enlazadas
en
en
en
null
Listas Doblemente Enlazadas, cada nodo contiene dos enlace, uno a su nodo predecesor y el otro a su nodo sucesor. La lista es eficiente tanto en recorrido directo (adelante) como en recorrido inverso (atrs).
lista) se enlaza al primer elemento (cabeza de la lista), de tal modo que la lista puede ser
recorrida de modo circular (en anillo).
Lista Circular Doblemente Enlazada, tiene las caractersticas de las lista doblemente enlazadas y listas circulares. El ltimo nodo se enlaza o apunta a la cabeza de la lista, todos los nodos enlazan al nodo anterior y al siguiente.
ellas. Estos controles se manifiestan en forma de operaciones que tendrn las siguientes
funciones: Definicin de la clase Nodo y referencia a Nodo. Inicializacin o creacin. Insertar elementos en una lista. Eliminar elementos de una lista. Buscar elementos de una lista (comprobar la existencia de elementos en una lista). Recorrer una lista enlazada (visitar cada nodo de la lista). Comprobar si la lista est vaca.
1. Definir la clase Nodo (opcionalmente, definir la clase Elemento). 2. Definir la clase Lista, con la variable instancia referencia a Nodo cabeza o primero. 3. Definir el mtodo constructor de Lista que inicialice primero a null, lista vaca. 4. Definir el mtodo CrearLista(), de tal forma que cree iterativamente el primer elemento (primero) y los elementos sucesivos de una lista enlazada simplemente. 5. Repetir hasta que no haya ms entrada para el elemento.
}
Class Nodo{ Elemento info; Nodo siguiente; }
Elaborado por: Ing. Vctor Valencia.
La referencia primero (puede tener cualquier otro nombre representativo) se ha inicializado a un valor nulo, lo que implica que la lista est vaca (no tiene elementos).
19
Primero
null
La referencia primero apunta al nuevo elemento, que se inicializa a 19. El campo enlace del nuevo elemento toma el valor nulo, por no haber un nodo siguiente.
dato y del campo enlace. Si ahora se desea aadir un nuevo elemento con un valor 61, y
situarlo en el primer lugar de la lista, se escribe simplemente:
Primero = new Nodo(61, primero);
61
Primero
19
Null
Public Lista CrearLista(){ Primero = null; for(int i = 0; i <= 5; i++){ Primero = new Nodo(i, primero); } return this;
public Lista InsertarCabezaLista(int dato){ Nodo nuevo; nuevo=new Nodo(dato); nuevo.siguiente = primero; primero = nuevo; return this;
public void MostrarLista(){ Nodo n; n = primero; System.out.println("Los valores que contiene la lista son:"); while(n != null){ System.out.println(n.info);
n = n.siguiente;
} }
Fuentes
Joyanes, L., Zahonero, I. (2002). Programacin en Java 2. Madrid: McGrawHill.