Want to create interactive content? It’s easy in Genially!

Get started free

Listas enlazadas: Circulares

JABA Cruz

Created on October 19, 2022

Start designing with a free template

Discover more than 1500 professional designs like these:

Visual Presentation

Vintage Photo Album

Animated Chalkboard Presentation

Genial Storytale Presentation

Higher Education Presentation

Blackboard Presentation

Psychedelic Presentation

Transcript

Listas enlazadas

Circulares

  • Cruz Gonzalez Jacqueline
  • Cruz Tapia Brayan
  • Romero Blancas Antonio de Jesus
  • Ruiz Martinez Alexandra Lizeth

lista enlazada

Es una estructura dinámica que consta de un número de nodos. Estas listas crecen y decrecen conforme se va ejecutando el programa.

lista enlazada: circular

Es una lista enlazada cuyos nodos están conectados de tal manera que forma un círculo.

Declaración

last -> next último -> siguiente

Mantenemos un puntero externo 'último' que apunta al último nodo en la lista enlazada circular.

Operacionesbásicas

Operaciones

recorrido

supresión

inserción

Inserción

Al final de la lista

Entre la lista

Al principio de la lista

En una listavacía

Supresión

  • Implica ubicar el nodo que se debe eliminar y luego liberar su memoria.
  • Establecemos los punteros curr y prev y luego eliminamos el nodo curr.

Recorrido

  • El recorrido es una técnica de visitar todos y cada uno de los nodos.
  • En una lista enlazada circular, comenzamos desde el siguiente del último nodo que es el primer nodo y atravesamos cada nodo. Nos detenemos cuando llegamos una vez más al primer nodo.

Implementación

Producción: La lista circular vinculada creada : 10 20 30 40 50 60 10 El nodo con datos 10 se elimina de la lista. La lista circular vinculada después de eliminar 10 es: 20 30 40 50 60 20

Lista circular

insertar lista

insertar nodo

Desplegar lista

ejecución del programa

Listascirculares

ejecución del programa

un pequeño programa

/* ---------- lista_circ.function.h ----------- */ void inicialización (Lista * lista){ lista->inicio = NULL; lista->fin = NULL; lista->tamaño = 0;} /* inserción en una lista vacia */ int ins_lista_circ_vacia(Lista * lista, char *dato){ Elemento *nuevo_elemento; if ((nuevo_elemento = (Elemento *) malloc (sizeof (Elemento))) == NULL) return -1; if ((nuevo_elemento->dato = (char *) malloc (50 * sizeof (char))) == NULL) return -1; strcpy (nuevo_elemento->dato, dato); nuevo_elemento->siguiente = nuevo_elemento; lista->inicio = nuevo_elemento; lista->fin = nuevo_elemento; lista->tamaño<gras>; return 0; }

LISTAS ENLAZADAS: CIRCULARES

desventajas

ventajas

  • No hay una marca adecuada para el comienzo o el final de la lista. Una implementación podría terminar en un bucle infinito.
  • Tenemos que recorrer toda la lista desde el principio
  • Podemos ir a cualquier nodo y atravesar desde cualquier nodo.
  • Ir al primer nodo desde el último nodo solo requiere un paso.

aplicación

Un sistema operativo de programación múltiple en el que programa múltiples programas.Ejemplo:Juegos que se juegan con varios jugadores

Conclusiones

Lista enlazada circular:

  • Colección de nodos en los que los nodos están conectados entre sí para formar un círculo.
  • Representar estructuras o actividades que deben repetirse una y otra vez después de un intervalo de tiempo específico.
  • Admiten varias operaciones como inserción, eliminación y recorridos.

¡gracias!