# **[](https://en.cppreference.com/w/cpp/header/queue)** provides `std::queue` (FIFO) and `std::priority_queue` (min/max heap). They are container adapters—wrappers around a deque or vector that expose only the queue semantics. Use `queue` for FIFO (front end, back end), and `priority_queue` for keeping elements sorted by a comparator. ## Example This example demonstrates FIFO queuing and priority queue behavior where the largest element is always at the top. ```cpp // compile: g++ -std=c++11 -o queueexample queueexample.cpp // run: ./queueexample // description: FIFO queue and priority queue #include #include int main() { std::queue fifo; fifo.push(1); fifo.push(2); fifo.push(3); std::cout << "fifo front: " << fifo.front() << "\n"; fifo.pop(); std::cout << "after pop, front: " << fifo.front() << "\n"; std::priority_queue pq; pq.push(3); pq.push(1); pq.push(2); std::cout << "priority_queue top: " << pq.top() << "\n"; return 0; } ```