Есть ли в C ++ стандартная очередь? - PullRequest
7 голосов
/ 05 октября 2009

Я знаю, что в C ++ есть стандартный библиотечный вектор. Есть ли очередь? Поиски в Интернете позволяют предположить, что они могут быть, но если таковые имеются, их не так много.

Редактировать: все в порядке. Спасибо огромное, ребята.

Ответы [ 7 ]

15 голосов
/ 05 октября 2009

Да, вы можете легко выбрать базовый контейнер, если вам это интересно:

#include <queue>

int main()
{
    std::queue<int> myqueue;

    myqueue.push(3);
    int x = myqueue.front();
    myqueue.pop(); // pop is void!
}
13 голосов
/ 05 октября 2009

std :: queue (адаптер контейнера)

5 голосов
/ 05 октября 2009

Да, есть <a href="http://www.cplusplus.com/reference/stl/queue/" rel="noreferrer">std::queue</a>. Реализовано как «адаптеры» поверх существующего контейнера (поскольку это просто специализация).

4 голосов
/ 05 октября 2009
3 голосов
/ 05 октября 2009

Еще одна хорошая справка для стандартных библиотек C ++ - http://www.cplusplus.com.

В частности, их справочный раздел: http://www.cplusplus.com/reference/.

Вот их страница для std :: queue: http://www.cplusplus.com/reference/stl/queue/.

3 голосов
/ 05 октября 2009
1 голос
/ 05 октября 2009

Также может оказаться полезным std :: deque (двусторонняя очередь), в зависимости от того, какая очередь вам нужна для

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...