- Контейнер std::queue или очередь, обеспечивает доступ к элементам по принципу FIFO (first in, first out "первый пришел - первый ушел", аналогия с очередью куда-либо), где пришедшие соответствуют записываемым элементам, а ушедшие считываемым.
- Если требуется контейнер обеспечивает доступ к элементам по принципу LIFO (last in, first out "последний пришел - первый ушел") используйте std::stack.
Метод | Описание | Пример | Сложность |
---|---|---|---|
back() | Получает верхний (последний добавленный) элемент очереди без ее изменения. | auto i = q.back(); | O(1) |
emplace(Args&&... args) | Создает и вставляет элемент в конец очереди. | q.emplace(5); | O(1) |
empty() | Возвращает пустая ли очередь. | if(q.empty()) | O(1) |
front() | Получает нижний (первый добавленный) элемент очереди без ее изменения. | auto i = q.front(); | O(1) |
pop() | Удаляет нижний (первый добавленный) элемент очереди. | q.pop(); | O(1) |
push(const T& val) | Вставляет элемент в вершину очереди. | q.push(12); | O(1) |
queue() | Конструктор пустой очереди; | queue<int> q; | O(1) |
queue(initializer_list<value_type> il) | Конструктор очереди из списка инициализации. | queue | O(n) |
queue(const cont_type cn) | Конструктор копирования, создает очередь из значений другого контейнера. | queue q(ls); | O(n) |
size() | Возвращает количество элементов очереди. | size_t sz = q.size(); | O(1) |
swap(stack& q1) | Обменивает содержимое 2х очередей | q.swap(q1); | O(1) |