Vous êtes sur la page 1sur 6

cesarc.net@gmail.

com

Listas Circulares Las listas circulares tienen la caracterstica de que el ltimo elemento de la misma apunta al primero La siguiente figura es una representacin grfica de una lista circular. Las listas circulares evitan excepciones en la operaciones que se realicen sobre ellas. No existen casos especiales, cada nodo siempre tiene uno anterior y uno siguiente.

Para recorrer un lista enlazada circular podemos empezar por cualquier nodo y seguir la lista en cualquier direccin hasta que se regrese hasta el nodo original. Desde otro punto de vista, las listas enlazadas circulares pueden ser vistas como listas sin comienzo ni fin. Este tipo de listas es el ms usado para dirigir buffers para "ingerir" datos, y para visitar todos los nodos de una lista a partir de uno dado.
cesarc.net@gmail.com

A pesar de que las listas circulares simplifiquen las operaciones sobre ellas, tambin introducen algunas complicaciones. Por ejemplo, en un proceso de bsqueda, no es tan sencillo dar por terminada la bsqueda cuando el elemento buscado no existe.

cesarc.net@gmail.com

Nodo: un objeto creado desde una clase auto-referenciada. Campo de enlace: un campo cuyo tipo de referencia es el nombre de la clase. En el fragmento de cdigo anterior, next es un campo de enlace. Por el contrario, empno,name, y salary son campos no de enlace. Enlace: la referencia a un campo de enlace. En el fragmento de cdigo anterior, la referencia next a un nodo Employee es un enlace.

Los cuatro conceptos de arriba nos llevan a la siguiente definicin: una lista circular es una

secuencia de nodos que se interconectan mediante sus campos de enlace. En ciencia de


la computacin se utiliza una notacin especial para ilustrar las listas enlazadas. En la siguiente imagen aparece una variante de esta notacin que utilizar a lo largo de esta seccin:

Lista de Enlace Circular El campo de enlace del ltimo nodo de una lista de enlace simple contiene un enlace nulo, ocurre lo mismo en los campos de enlace del primer y ltimo elemento en ambas direcciones en las listas doblemente enlazadas. Supongamos que en vez de esto los ltimos nodos contiene un enlace a los primeros nodos. En esta situacin, usted terminar con una lista de enlace circular, como se ve en la siguiente figura: Las listas de enlace circular se utilizan con frecuencia en procesamiento repetitivo de nodos en un orden especfico. Dichos nodos podran representar conexiones de servidor, procesadores esperando una seccin crtica, etc. Esta estructura de datos tambin sirve como base para una variante de una estructura de datos ms compleja: la cola (que veremos ms adelante).

Lista Enlazada Doblemente Circular En una lista enlazada doblemente circular, cada nodo tiene dos enlaces, similares a los de la lista doblemente enlazada, excepto que el enlace anterior del primer nodo apunta al ltimo y el enlace siguiente del ltimo nodo, apunta al primero. Como en una lista doblemente enlazada, las inserciones y eliminaciones pueden ser hechas desde cualquier punto con acceso a algn nodo cercano. Aunque estructuralmente una lista circular doblemente enlazada no tiene ni principio ni fin, un puntero de acceso externo puede establecer el nodo apuntado que est en la cabeza o al nodo cola, y as mantener el orden tan bien como en una lista doblemente enlazada.

Vous aimerez peut-être aussi