Listas c++
Las listas doblemente enlazadas son estructuras de datos semejantes a las listas enlazadas simples.
La asignación de memoria es hecha al momento de la ejecución.Cada nodo en esta lista contiene dos apuntadores, uno a su antecesor y otro a su sucesor, la lista es completamente simétrica.
Las listas doblemente enlazadas pueden ser lineales o circulares y puedencontener o no un nodo de encabezado y campos siguiente y anterior que contienen apuntadores a los nodos en algunos de los lados
Para acceder a un elemento, la lista puede ser recorrida en ambossentidos:
* comenzando por el inicio, el puntero siguiente permite el desplazamiento hacia el próximo elemento.
* comenzando por el final, el puntero anterior permite el desplazamientohacia el elemento anterior.
Para definir un elemento de la lista será utilizado el tipo struct.
El elemento de la lista contendrá: un campo dato, un puntero anterior y un puntero siguiente.
Lospunteros anterior y siguiente deben ser del mismo tipo que el elemento, en caso contrario no podrá apuntar hacia un elemento de la lista.
El puntero anterior permitirá el acceso hacia el elementoanterior mientras que el puntero siguiente permitirá el acceso hacia el próximo elemento.
typedef struct dl_ElementoLista {
char *dato;struct dl_ElementoLista *anterior;
struct dl_ElementoLista *siguiente;
}dl_Elemento;
Etapas:
* asignación de memoria para el nuevo elemento
* rellenar elcampo de datos del nuevo elemento
* el puntero anterior del nuevo elemento apuntará hacia NULL (ya que la inserción es hecha en una lista vacía utilizamos la dirección del puntero inicio quevale NULL)
* el puntero siguiente del nuevo elemento apuntará hacia NULL (ya que la inserción es hecha en una lista vacía se utiliza la dirección del puntero fin que vale NULL)
* los...
Regístrate para leer el documento completo.