Las colas son un conjunto de elementos caracterizadas porque las operaciones de inserción y borrado se realizan sobre extremos opuestos de la estructura. La inserción se produce en el "final", mientras que el borrado se realiza en el otro extremo, el "inicio". Las restricciones definidas para una cola hacen que el primer elemento que se inserta en ella sea, igualmente, el primero en ser extraido de la estructura. Si una serie de elementos A, B, C, D, E se insertan en una cola en ese mismo orden, entonces los elementos irán saliendo de la cola en el ordenen que entraron. Por esa razón son llamadas FIFO (First In First Out), es decir, “el primero que entra es el primero que sale”.
Estructura lineal dinámica, cuyo comportamiento es similar al de la Lista Simple con la restricción que solo inserta datos al final y que al eliminar solo elimina el primer nodo que se encuentre en la estructura ya que se rige por la propiedad de acceso a la información de tipo FIFO (Firts In, First Out; primero en entrar, primero en salir), está estructura se implementa en la clase Cola, adicionalmente a esto la estructura requiere de un elemento fundamental del almacenamiento de objetos denominado nodo, que es la base de su implementación, este elemento fue definido en la clase Nodo. Nodo es un elemento que esta compuesto por la información (elemento) almacenada y un apuntador al siguiente nodo, entendiendo por apuntador la dirección del nodo que le sigue.La estructura Cola implementada, es un conjunto de nodos entrelazados entre sí, estructura que se origina con la creación de nodos a los que se le denomina “ini” (primer nodo de la Cola) y “fin” (ultimo nodo de la estructura definido como atributo por el programador para disminuir la complejidad de operaciones en la estructura), puntos de referencia para el desarrollo de los diversos procesos como lo son: la inserción de elementos se realiza modificando el nodo “fin” por el nuevo nodo creado, los elementos no están ordenados en la estructura. Al eliminar un objeto elimina el nodo definido como “ini” modificando el “ini” por el nodo siguiente. La implementación también permite conocer el tamaño, para esto se define un atributo llamado “tamanio” para controlar la cantidad de elementos que posee la Cola siendo este el tamaño de la estructura. La implementación de la Clase Cola se ilustra en el siguiente diagrama de clase:
Las colas de prioridad es una extensión de la estructura de datos Cola. Se basan en el orden de salida de sus elementos: en el orden de llegada y orden de prioridad; asi un elemento que ingresa a la cola se posicionará al final del segmento de elementos de su misma prioridad. Las colas de prioridad permiten alterar el orden de salida de los elementos de una cola:
Estructura lineal dinámica, cuyo comportamiento es similar al de la Cola a diferencia que en esta estructura se asigna prioridad en los elementos almacenados, prioridad que se usa para insertar datos de forma descendente (de mayor a menor) en la estructura con el fin que al eliminar elimina el objeto de mayor prioridad que se encuentra en el inicio de la Cola, está estructura se implementa en la clase ColaP, adicionalmente a esto la estructura requiere de unelemento fundamental de almacenamiento de objetos denominado nodo que es la base de su implementación, este elemento fue definido en la clase NodoP. NodoP es un elemento que esta compuesto por la información (elemento) almacenada, un apuntador al siguiente nodo, entendiendo por apuntador la dirección del nodo que le sigue y una “prioridad” para otorgar a cada elemento dicho valor, la prioridad de los elementos dentro de la ColaP se ha decidido que sea de tipo entero (aunque pueden existir de otro tipo) de manera que sea más sencilla de implementar.
La estructura ColaP implementada es un conjunto de nodos entrelazados entre si, estructura que se origina con la creación de un NodoP al que se le denomina se le denomina “ini” (primer nodo de la Cola) y “fin” (ultimo nodo de la estructura definido como atributo por el programador para disminuir la complejidad de operaciones en la estructura), atributos que se utilizan como punto de referencia para el desarrollo de los diversos procesos como lo son: Insertar en este proceso la posición del nuevo elemento depende de la prioridad que posea de manera que los elementos están organizados de forma ascendente por su prioridad, al eliminar un objeto elimina al de mayor prioridad que siempre se encontrara en el inicio de la estructura modificando el apuntador “ini” por el nodo que le sigue. La implementación también permite conocer el tamaño, para esto se define un atributo llamado “tamanio” para controlar la cantidad de elementos que posee la ColaP siendo este el tamaño de la estructura.
La implementación de la Clase ColaP ilustrara en el siguiente diagrama de clase: