std::stack是一种适配器容器,它提供了一个先进先出(FIFO)的数据结构。

std::queue的模板格式:

template< T, Container = std::deque<T> > class queue;

其中:

  • T: 数据类型
  • Container: 底层容器类型,默认是std::deque,还可以是std::list

构造函数

queue<int> q1;                       // 无元素
queue<int> q2(q1);                   // 使用另外一个queue拷贝构造
queue<int> q3(std::move(q2));        // 使用另外一个queue移动构造

std::deque<int> dq {1, 2, 3, 4, 5};
queue<int> q4(dq);                   // 使用容器初始化

queue<int, std::list<int>> q5;       // 使用自定义底层容器

成员函数

访问

成员函数 函数说明
front() 返回对队列中第一个元素的引用。
back() 返回对队列中最后一个元素的引用。

修改

成员函数 说明
push(const T& value) 将一个新元素 value 添加到队列的末尾。
emplace(Args&&... args) 通过就地构造一个新元素,并将其添加到队列的末尾。
pop() 移除队列的第一个元素。
swap(queue& other) 与另一个 queue 交换内容。

容量

成员函数 说明
empty() 如果队列中没有元素,则返回 true
size() 返回队列中元素的数量。