--- title: queue localeTitle: cola --- ## Colas `queue` es uno de los contenedores más utilizados en C ++. Un contenedor es una estructura de datos que almacena una colección de objetos, algunos en orden, otros no. Todos los contenedores tienen un conjunto diferente de funciones que le permiten acceder a un objeto (s) en esa colección. `std::queue` es parte de la biblioteca estándar de C ++ (de ahí el prefijo `std::` y le permite almacenar datos en el orden First In First Out (FIFO). NOTA: **Todos los objetos dentro de una cola deben ser del mismo tipo de datos** El tipo de datos que almacena dentro de una cola va entre paréntesis angulares junto a la palabra clave de la cola. Por ejemplo, si desea almacenar una colección de enteros, la cola sería `std::queue queue_name` ### Explicación de cola LIFO `queue` nos permite empujar / poner en cola y hacer pop / sacar de la cola en un orden específico. **Empujar** significa insertar un objeto en la parte delantera de la cola. **Pop** significa sacar el objeto "más antiguo" del final de la cola. Así que cuando lo presionas está en la parte delantera y cuando haces pop extraes el elemento más antiguo. ![alt text](https://github.com/mohammadaziz313/helloworld/blob/master/Fifo_queue.png "Ejemplo de cola y salida de cola FIFO") ### Operaciones de cola El contenedor de cola soporta las siguientes operaciones: * empujar (poner en cola) * pop (dequeue) * vacío * tamaño * frente * espalda #### empujar Le permite insertar un nuevo elemento al final de la cola, después de su último elemento actual. ```cpp //Push operation in Queue #include // std::cout #include // std::queue int main () { std::queue q; q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue return 0; } ``` #### Frente Le permite acceder al siguiente elemento en la cola sin eliminarlo. El siguiente elemento es el elemento "más antiguo" en la cola. ```cpp //Front operation in Queue #include // std::cout #include // std::queue int main () { std::queue q; q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue std::cout< // std::cout #include // std::queue int main () { std::queue q; q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue std::cout< // std::cout #include // std::queue int main () { std::queue q; q.push(1); //Pushing 1 at front of the queue q.push(2); //Pushing 2 at front of the queue std::cout<