Tecnologia punta
Éstas listas tienen como característica que poseen nodos dobles, queguardan referencias de un nodo anterior y siguiente. Los elementos pueden ser ingresados al principio o final de la lista. Se puede recorrer la lista en el sentido hacia adelante o hacia atrás,permitiendo tener la impresión en orden normal u orden inverso.
El sistema se compone de 3 clases y la Principal que contiene al método main:
A las listas vistas hasta el momento podemos recorrerlassolamente en una dirección (Listas simplemente encadenadas). Hay problemas donde se requiere recorrer la lista en ambas direcciones, en estos casos el empleo de listas doblemente encadenadas esrecomendable.
Como ejemplo pensemos que debemos almacenar un menú de opciones en una lista, la opción a seleccionar puede ser la siguiente o la anterior, podemos desplazarnos en ambas direcciones.Representación gráfica de una lista doblemente encadenada:
listas doblemente encadenadas
Observemos que una lista doblemente encadenada tiene dos punteros por cada nodo, uno apunta al nodo siguiente yotro al nodo anterior.
Seguimos teniendo un puntero (raiz) que tiene la dirección del primer nodo.
El puntero sig del último nodo igual que las listas simplemente encadenadas apunta a null, y elpuntero ant del primer nodo apunta a null.
Se pueden plantear Listas tipo pila, cola y genéricas con enlace doble.
Hay que tener en cuenta que el requerimiento de memoria es mayor en las listasdoblemente encadenadas ya que tenemos dos punteros por nodo.
La estructura del nodo es:
class Nodo {
int info;
Nodo sig, ant;
}
Resolveremosalgunos métodos para administrar listas genéricas empleando listas doblemente encadenadas para analizar la mecánica de enlace de nodos.
Muchos de los métodos, para listas simple y doblemente...
Regístrate para leer el documento completo.