deque是STL里面的常见容器,它的本质是一个队列,但是与队列不同是的是,它可以两边进出。

下面是STL的一些常见操作。

que.assign(beg,end) 将[beg; end)区间中的数据赋值给que。

que.assign(n,elem) 将n个elem的拷贝赋值给que。

que. at(idx) 传回索引idx所指的数据,如果idx越界,抛出out_of_range。
que.back() 返回容器que的最后一个元素的引用。如果que为空,则该操作未定义。
que.begin() 传回迭代器中的第一个数据地址。
que.clear() 移除容器中所有数据。
que.empty() 判断容器是否为空。
que.end() 返回一个迭代器,它指向容器que的最后一个元素的下一位置。
que.erase(pos) 删除pos位置的数据,传回下一个数据的位置。
que.erase(beg,end) 删除[beg,end)区间的数据,传回下一个数据的位置。
que.front() 返回容器que的第一个元素的引用。如果que为空,则该操作为空。
que.insert(pos,elem) 在pos位置插入一个elem拷贝,传回新数据位置
que.insert(pos,n,elem) 在pos(迭代器)位置插入>n个elem数据。无返回值
que.insert(pos,beg,end) 在pos位置插入在[beg,end)区间的数据。无返回值
que.max_size() 返回容器que可容纳的最多元素个数。
que.pop_back() 删除最后一个数据。
que.pop_front() 删除头部数据。
que.push_back(elem) 在尾部加入一个数据。
que.push_front(elem) 在头部插入一个数据。
que.rbegin() 返回一个逆序迭代器,它指向容器que的最后一个元素。
que.rend() 返回一个逆序迭代器,它指向容器que的第一个元素的前一个位置。
que.resize(num) 重新指定队列的长度。
que.size() 返回容器中实际数据的个数。
que.swap(que2) 交换容器que和que2中的所有元素。
swap(que1,que2) 交换容器que1和que2中的所有元素。
 
下面推荐一道模板题。

P2952 [USACO09OPEN]牛线Cow Line

#include<bits/stdc++.h>
using namespace std;
deque<int>q;
int n,T,t;
char s,ss;
int main()
{
cin>>T;
for(int i=;i<=T;i++)
{
cin>>s>>ss;
if(s=='A')
{
if(ss=='L')
{
t++;
q.push_front(t);
}
if(ss=='R')
{
t++;
q.push_back(t);
}
}
if(s=='D')
{
if(ss=='L')
{
int k;
cin>>k;
for(int j=; j<=k; j++)
q.pop_front();
}
if(ss=='R')
{
int k;
cin>>k;
for(int j=; j<=k; j++)
q.pop_back();
}
}
}
while(!q.empty())
{
int u=q.front();
q.pop_front();
cout<<u<<endl;
}
}

最新文章

  1. p2p tcp nat 原理图+源码(原创)
  2. Android -- 自动完成文本框(可以匹配多个值,并以,结尾)
  3. Chapter 3.GDI/DirectDraw Internal Data Structures
  4. jquery可见性选择器(综合)
  5. HighCharts学习笔记(二)HighCharts结构及详细配置
  6. Monkey测试的策略和分析
  7. 安装生物信息学软件-Biopython
  8. Union大小
  9. UVA 11174 Stand in a Line (组合+除法的求模)
  10. UVa 10652 (简单凸包) Board Wrapping
  11. 对 Azure Backup 的常见配置问题进行故障排除
  12. Bellman_ford POJ 3259 Wormholes
  13. 自定义绘制View
  14. [Linked List]Copy List with Random Pointer
  15. GitHub Linux下使用方法
  16. poj1483 It&#39;s not a Bug, It&#39;s a Feature!
  17. 闭包 -&gt; map / floatMap / filter / reduce 浅析
  18. 五分钟轻松了解Hbase面向列的存储
  19. ubuntu16.04node和npm卸载干净
  20. [译]How To Use the Linux Auditing System on CentOS 7

热门文章

  1. sqlzoo练习答案--SELECT names/zh
  2. USACO 5.1.1凸包
  3. java中StringBuilder、StringBuffer、String类之间的关系
  4. 如何编译dotnet core
  5. UISrcoll控件简单介绍
  6. Android eclipse 运行项目设置程序默认安装到SD卡
  7. java web项目中资源国际化
  8. C# WindowsAPI
  9. WPF学习(四) - 附加属性
  10. CSS3的常用属性(一)