deque
l 双端队列(deque容器类):#include与vector
类似, 支持随机访问和快速插入删除, 它在容器中某一位置上 的操作所花费的是线性时间。 与vector不同的是, deque还支持 从开始端插入数据: push_front()。此外deque不支持与vector的 capacity()、 reserve()类似的操作。
l deque,是“double-endedqueue”的缩写。
l 可以随机存取元素 (用索引直接存取) 。
l 数组头部和尾部添加或移除元素都非常快速, 但是在中部安插元素比较费时
Deque详解:
l 头文件 #include
l 定义变量 dequemydeq;
l 主要成员函数
l mydeq.clear() 移除容器中所有数据。
l mydeq.push_front(elem) 在队列首部加入一个数据
l mydeq.pop_front() 删除队列尾部数据
l mydeq.push_back(elem) 在队列尾部加入一个数据
l mydeq.pop_back() 删除队列尾部数据
l mydeq.empty() 判断队列是否为空,为空返回true
l mydeq.size() 返回容器中实际数据的个数。
l mydeq.erase(pos) 删除pos位置的数据, 返回下一个数据的位置。
l mydeq.insert(pos,cnt,elem) 在pos位置插入cnt个数据elem。
l mydeq.begin() 返回的指针指向数组中的第一个数据。
l mydeq.end() 实际上是取末尾加一,以便让循环正确运行--它返回的指针指向最靠近数组界限的数据。
l operator[] 返回容器中指定位置的一个引用
与vector比较相似具体例子可以参考vector篇。点击进入