Una cola es un tipo especial de lista abierta en la que slo se pueden insertar nodos en uno de los extremos de la lista y slo se pueden eliminar nodos en el otro. Adems, como sucede con las pilas, las escrituras de datos siempre son inserciones de nodos, y las lecturas siempre eliminan el nodo ledo. Este tipo de lista es conocido como lista FIFO (First In First Out), el primero en entrar es el primero en salir. El ejemplo cotidiano es una cola para comprar, por ejemplo, las entradas del cine. Los nuevos compradores slo pueden colocarse al final de la cola, y slo el primero de la cola puede comprar la entrada
ALGORITMO PARA INSERTAR
Si A=mximo entonces
mensaje (overflow)
en caso contrario
cola[A]<-- va
A<-- A+1
lor
ALGORITMO PARA EXTRAER
Si A<F entonces
mensaje (underflow)
en caso contrario
x <-- cola[
F <-- F+1
F]
Aplicaciones de las colas Las operaciones principales en una cola son la de insercion y extraccion de datos, llamadas encolar (enqueue) y desencolar (dequeue). Las colas se utilizan en muchos algoritmos y en situaciones en las que el rendimiento de dos sistemas que se cruzan datos entre s es ms eficiente cuando no se intercambian indicativos y seales de control (handshaking) en cada transferencia. Tambin almacenan temporalmente la transferencia de informacin, lo que permite procesarla en origen y en destino a tasas independientes. La cola de eventos en Java es un buen ejemplo. Tipos derivados: colas de prioridad y flujos de datos