C++队列
默认已熟悉std::vector
。vector
是一个极其重要的模板,其中的每一个函数都应该了解其作用与用法,这里不再赘述。
双向队列
双向队列(std::deque
)类似于vector
,允许快速随机访问任何元素并在容器后面高效插入和删除。 但是,和矢量不同的是, deque
还支持在容器前面高效插入和删除。使用时需加入头文件<deque>
deque
虽名为队列,但是同时支持一些非队列操作。比如,deque::insert
和deque::erase
可在deque
中的任意位置插入和删除元素。其常用的几个操作为deque::push_back
、deque::pop_back
、deque::push_front
和deque::pop_front
,用来在队列头尾进行插入删除元素。
与vector
不同的是,deque
不支持reserve
。如果要提前分配空间,可利用构造函数或deque::resize
分配空间并同时进行初始化。
队列
队列(std::queue
)是一种先进先出的结构。相较与双向队列,它只保留了最必要的部分。默认使用deque
作为核心数据成员,可以改为list
。
构造函数示例:
std::deque dque{ 1,2,3 };//deque,初始化列表,以下三个queue的核心数据成员类型, std::queue