sdut 双向队列(STL)
2016-11-20 17:15
232 查看
deque<ll>q;//定义一个双向队列q,类型为long long q.push_front(a);//将a从队首插入队列 q.push_back(a);//将a从队尾插入队列 q.pop_front();//队首弹掉一个元素 q.pop_back();//队尾弹出一个元素 a=q.front();//返回队首元素 a=q.back();//返回队尾元素 a=q.size();//返回双向队列的大小 a=q.empty();//判断双向队列是否为空,为空返回1,不为空返回0 deque<ll>p(q);//将队列q复制一个新的队列p q.clear(); //将队列q清空
C++ Double Ended Queues(双向队列)
双向队列和向量很相似,但是它允许在容器头部快速插入和删除(就像在尾部一样)。Constructors | 创建一个新双向队列 |
Operators | 比较和赋值双向队列 |
assign() | 设置双向队列的值 |
at() | 返回指定的元素 |
back() | 返回最后一个元素 |
begin() | 返回指向第一个元素的迭代器 |
clear() | 删除所有元素 |
empty() | 返回真如果双向队列为空 |
end() | 返回指向尾部的迭代器 |
erase() | 删除一个元素 |
front() | 返回第一个元素 |
get_allocator() | 返回双向队列的配置器 |
insert() | 插入一个元素到双向队列中 |
max_size() | 返回双向队列能容纳的最大元素个数 |
pop_back() | 删除尾部的元素 |
pop_front() | 删除头部的元素 |
push_back() | 在尾部加入一个元素 |
push_front() | 在头部加入一个元素 |
rbegin() | 返回指向尾部的逆向迭代器 |
rend() | 返回指向头部的逆向迭代器 |
resize() | 改变双向队列的大小 |
size() | 返回双向队列中元素的个数 |
swap() | 和另一个双向队列交换元素 |
#include<iostream> #include<deque> #include<string> using namespace std; int main() { deque<int> deq; int n,l=0,p=0,m[10000]; cin>>n; string s; for(int i=1;i<=n;i++) { cin>>s; if(s=="LIN") { int d; cin>>d; deq.push_front(d); } else if(s=="RIN") { int d; cin>>d; deq.push_back(d); } else if(s=="LOUT") { if(deq.empty()) m[p++]=i; else { //a[l++]=deq.front(); deq.pop_front(); } } else if(s=="ROUT") { if(deq.empty()) m[p++]=i; //cout<<i<<" "<<"ERROR"<<endl; else { deq.pop_back(); } } else m[p++]=i; } if(!deq.empty()) { cout<<deq.front(); deq.pop_front(); } while(!deq.empty()) { cout<<" "<<deq.front(); deq.pop_front(); } cout<<endl; for(int i=0;i<p;i++) { cout<<m[i]<<" "<<"ERROR"<<endl; } return 0; }
相关文章推荐
- 暑假集训 8.2 双向队列的手写与STL sdutoj1466 双向队列
- STL系列之一 deque双向队列
- STL之queue队列 stack栈 priority_queue优先队列 deque双向队列
- STL系列之一 deque双向队列
- STL-deque 双向队列[转载]
- STL之deque双向队列
- STL系列之一 deque双向队列
- stl之三:deque双向队列【转】
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- 【STL】双向队列
- STL系列之一 deque双向队列
- 双向队列(STL做法)
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- STL系列之一 deque双向队列
- SDUT 1466 双向队列