Listas dobles circulares.
Enviado por asakuraMizu • 4 de Octubre de 2016 • Ensayo • 925 Palabras (4 Páginas) • 472 Visitas
Listas dobles circulares
Escobedo Linares Yareli Guadalupe
De La Torre Reyes Aylin Esmeralda
Vázquez Ibáñez Erick Daniel
Informática 3°
Índice
Definiciones
Listas Dobles Circulares
Operaciones
Insertar en lista vacía
Insertar al inicio
Insertar al Centro
Insertar al Final
Recorrer ascendentemente
Recorrer descendentemente
Eliminar El primer elemento
Eliminar al centro
Eliminar al final de la lista
Ventajas
Desventajas
Aplicaciones
Definiciones
Nodo
Se denomina Nodo, elemento o también ítem, a la unidad de información más elemental o indivisible en este caso el nodo se conforma del apuntador anterior, siguiente y un dato.
Apuntador
Un puntero o apuntador es una variable cuyo valor es una dirección de memoria.
Dato
Es un valor o referente que recibe el computador por diferentes medios, los datos representan la información que el programador manipula en la construcción de una solución o en el desarrollo de un algoritmo.
Listas Dobles Circulares
La lista circular doble es una especie de lista enlazada “doblemente enlazada”, pero que posee una característica adicional para el desplazamiento dentro de la lista, “esta no tiene fin” y tiene 2 apuntadores a sí misma.
Para que la lista sea sin fin, el puntero siguiente del último elemento apuntará hacia el 1.er elemento y el puntero anterior del primer elemento apuntara hacia el último elemento de la lista en lugar de apuntar al valor NULL
Caracteristicas
En las listas circulares dobles, nunca se llega a una posición en la que ya no sea posible desplazarse.
Cuando se llegue al último elemento, el desplazamiento volverá a comenzar desde el primer elemento.
cada nodo tiene 2 apuntadores.
el apuntador anterior del primer nodo apuntara hacia el último nodo de la lista en lugar de apuntar al valor NULL.
Operaciones
Insertar
inserta un nodo con dato x en la lista, pudiendo realizarse esta inserción al principio o final de la lista o bien en orden.
Eliminar
elimina un nodo de la lista, puede ser según la posición o por el dato.
Recorrer
recorre cada elemento de la lista hasta llegar a determinado punto o determinado valor del dato contenido.
Insertar en lista vacía
Head apunta a Null
Apuntamos Head al que será el primer y único nodo, por lo que los apuntadores de este seguirán hacía el mismo
Insertar al inicio
Apuntar el nodo n.sig al nodo head
Cambiamos head.ant de bottom a nodo n
Cambiamos el apuntador anterior de nodo n a bottom
Cambiamos bottom.sig hacía nodo n
Por último resta apuntar head al que será nuestro primer nodo
Insertar al Centro
Cambiamos nodo n.sig de nodo n hacía bottom
Cambiamos nodo n.ant de nodo n hacía head, de manera que nodo n esté entre ambos
nodos
Cambiamos bottom.ant de head hacía nodo n
...