Please enable JavaScript.
Coggle requires JavaScript to display documents.
TAD LISTA CIRCULAR image - Coggle Diagram
TAD LISTA CIRCULAR
Buscar o localizar un elemento de una lista circular
Es necesario almacenar el puntero del nodo en que se empezó la búsqueda.
La búsqueda es igual que en el caso de las lista abiertas.
Otro algoritmo para borrar nodos
Eliminamos nodo ->siguiente
Si lista es el nodo ->siguiente
Hacemos que nodo ->siguiente apunte a nodo ->siguiente ->siguiente.
Hacemos lista = nodo.
Copiamos el contenido del nodo-> siguiente sobre el contenido de nodo.
Eliminar un elemento de una lista circular
Eliminar el nodo apuntado por lista, y que no sea el único nodo.
Eliminar el único nodo de la lista.
Eliminar un nodo cualquiera, que no sea el apuntado por lista.
Algoritmo de la función "Insertar"
Si la lista no esta vacía, hacemos que nodo-> siguiente apunte a lista-> siguiente.
Después que lista -> siguiente apunte a nodo.
Si la lista esta vacía hacemos que lista apunte a nodo.
Añadir elemento en una lista circular no vacía
Hacemos que nodo ->siguiente apunte a lista -> siguiente.
Después que lista -> siguiente apunte a nodo.
Un puntero que apunte a él, y de una lista, en este caso, el puntero no será nulo.
Operaciones básicas con listas circulares
Buscar o localizar elementos.
Borrar elementos.
Añadir o insertar elementos.
Moverse a través de la lista, siguiente.
Añadir un elemento
Lista apunte a nodo.
y lista -> siguiente apunte a nodo.
El único caso especial a la hora de insertar nodos en listas circulares es cuando la lista esté vacía.
Declaraciones de tipos para manejar listas circulares en C
tipoNodo es el tipo para declarar nodos evidentemente.
pNodo es el tipo para declarar punteros a un nodo.
Los tipos que se mencionara se manejan para las listas abiertas y cerradas.
Definición
Una lista circular es una lista lineal en la que el ultimo nodo a punta al primero.
En algunas se añade un nodo especial de cabecera.
Añadir elemento en una lista circular, caso general
Si lista no esta vacía, hacemos que nodo -> siguiente apunte a lista ->siguiente.
Después que lista-> siguiente apunte a nodo.
Si lista esta vacía hacemos que lista apunte a nodo.