特殊容器:Queue
#include <queue>
namespace std{
template <typename T, typename Container = deque<T>> class queue;
}
std::queue<int> qu;
Queue 的实现中只是单纯的把各项操作转化为内部容器的对应调用,可以使用任何序列容器支持 queue,只要它们支持:front()、back()、push_back()、pop_front()。
核心接口
Queue 的核心接口主要由以下成员函数构成:
- push() 将一个元素放入 queue 内;
- front() 返回 queue 内的下一个元素(也就是第一个被放入的元素);
- back() 返回 queue 内的最后一个元素(也就是最后被放入的元素);
- pop() 从 queue 中移除一个元素。
注意,pop() 移除一个元素,但不返回它;front() 和 back() 返回元素,但不移除。
如果 queue 内没有元素,调用 front()、back() 和 pop() 会导致不明确行为,可以采用 size() 和 empty() 来检查容器是否为空。
参考文献:《C++标准库(第2版)》 [德] Nicolai M. Josuttis 著,候捷 译,电子工业出版社。