Loading presentation...

Present Remotely

Send the link below via email or IM

Copy

Present to your audience

Start remote presentation

  • Invited audience members will follow you as you navigate and present
  • People invited to a presentation do not need a Prezi account
  • This link expires 10 minutes after you close the presentation
  • A maximum of 30 users can follow your presentation
  • Learn more about this feature in our knowledge base article

Do you really want to delete this prezi?

Neither you, nor the coeditors you shared it with will be able to recover it again.

DeleteCancel

Introducción

No description

Comments (0)

Please log in to add your comment.

Report abuse

Transcript of Introducción

Listas
Circulares

Introducción
La lista circular es una especie de lista enlazada simple o doblemente enlazada, pero que posee una característica adicional para el desplazamiento dentro de la lista,
ésta no tiene fin
.
Para lograr esto, el puntero siguiente del último elemento apuntará hacia el 
1er elemento
 de la lista en lugar de apuntar al valor
NULL
Insertar
Algorítmo de la función
INSERTAR
1. Si la lista está vacía, hacemos que lista apunte a nodo.
2. Si lista no está vacía, hacemos que nodo->siguiente apunte a lista->siguiente
Nodos Centinelas o cabecera (header nodes)


Cada elemento apunta a otro elemento y nunca a nulo.
Insertar al inicio
Insertar al Final
Borrar
Existen 3 casos:
1. Eliminar un nodo cualquiera, que no sea el apuntado por lista.
2. Eliminar el nodo apuntado por lista, y que no sea el único nodo.​
3. Eliminar el único nodo de la lista.
Caso I y II
Caso III
En este caso necesitamos localizar el nodo anterior al que queremos borrar. Como el principio de la lista puede ser cualquier nodo, haremos que sea precisamente lista quien apunte al nodo anterior al que queremos eliminar.

2. Hacemos que lista->siguiente apunte a nodo->siguiente.​

1. El primer paso es conseguir que lista apunte al nodo anterior al que queremos eliminar. Esto se consigue haciendo que lista valga lista->siguiente mientras lista->siguiente sea distinto de nodo.​

3. Eliminamos el nodo.

Este caso es mucho más sencillo. Si lista es el único nodo de una lista circular:​
Borramos el nodo apuntado por lista.​
Hacemos que lista valga NULL.
Eliminar un único Nodo
Ejemplos
Ventajas y desventajas
No es preciso conocer el numero de elementos en tiempo de compilación.
Nunca se llega a una posición en la que ya no sea posible desplazarse.
Se puede acceder a todos los nodos a partir de cualquiera de ellos.
Presentación por:
Julián
Andrea

Por Óscar
Por Ricardo
Ejemplos
Por Pilar
Usos y aplicaciones
Dinámica
Dudas
¡Gracias por tu atención!
Por Jesús
Se puede caer en ciclos infinitos
si el nodo buscado no existe.
Por Adrián
Full transcript