Colas Una cola es una lista de elementos en la cual los elementos se insertan por un extremo y se eliminan por otro. Una cola es una estructura tipo FIFO (First In First Out), así que el primero en entrar es el primero en salir. Aquí los elementos salen en el mismo orden en que entraron.
Operaciones con colas Se tiene que max es igual a la última posición del arreglo y mín es igual a la primera posición del arreglo, el estado inicial del frente y atrás es igual al mín. En una cola se pueden llevar a cabo dos operaciones: Insertar: meter dato en la cola. Eliminar: sacar dato de la cola.
Ejemplo: • void insertar(Object x) – Inserta un nuevo elemento en la cola. • Object extraer() – Devuelve y borra el elemento más antiguo de la cola. • Object verPrimero() – Devuelve el elemento más antiguo de la cola. • boolean estaVacia() – Comprueba si la cola está vacía. • void vaciar() – Vacía la cola.
Tipos de cola
DOBLE COLA (BICOLA) Es una generalización de un estructura de cola simple. En una doble cola, los elementos pueden ser insertados o eliminados por cualquiera de los extremos. Es decir, se pueden insertar y eliminar valores tanto por el FRENTE como por el FINAL de la cola. COLA DE PRIORIDADES Una cola de prioridad es un tipo de datos abstracto que almacena un conjunto de datos que poseen una llave perteneciente a algún conjunto ordenado, y permite insertar nuevos elementos y extraer el máximo (o el mínimo, en caso de que la estructura se organice con un criterio de orden inverso). Es frecuente interpretar los valores de las llaves como prioridades, con lo cual la estructura permite insertar elementos de prioridad cualquiera, y extraer el de mejor prioridad.
COLA LINEAL La cola lineal es un tipo de almacenamiento creado por el usuario que trabaja bajo la técnica FIFO (primero en entrar primero en salir). COLA CIRCULAR Una cola circular o anillo es una estructura de datos en la que los elementos están de forma circular y cada elemento tiene un sucesor y un predecesor. Los elementos pueden cosultarse, añadirse y eliminarse unicamente desde la cabeza del anillo que es una posición distinguida