Contenedores / C++17

Cola

Llevar al apunte ↗

Descripción

Una cola, queue<T>, agrega elementos por el final y los retira por el principio. El primero en entrar es el primero en salir. Ese orden suele llamarse FIFO.

Usala para turnos, tareas pendientes o simulaciones donde se atiende por orden de llegada. Una pila atiende primero lo más reciente. Una cola conserva la prioridad del que llegó antes.

front() lee el primero y pop() lo retira. back() consulta el último agregado. Si además necesitás editar ambos extremos o acceder por índice, una deque ofrece esas operaciones.

Funciones y operaciones

Uso Resultado o condición
queue<int> q; Crea una cola vacía
q.push(x) Agrega x al final
q.front() / q.back() Acceso al primero / último, con elementos
q.pop() Quita el primero, con elementos
q.empty() Si está vacía
q.size() Cantidad de elementos

Ejemplos

Agregar, consultar y atender

queue<int> turnos;
turnos.push(4);
turnos.push(7);
int primero = turnos.front(); // 4
int ultimo = turnos.back();   // 7
turnos.pop();
int siguiente = turnos.front(); // 7

Consumir los elementos

queue<int> turnos;
turnos.push(4);
turnos.push(7);
while (!turnos.empty()) {
    int x = turnos.front();
    turnos.pop();
    cout << x << ' ';
}
// Salida: 4 7

Las operaciones mostradas cuestan O(1) con el contenedor por defecto.