#P0163. deque & 双端队列
deque & 双端队列
题目描述
。
常用函数
q.push_back(value)
将 value
添加到队列的末尾。
q.push_front(value)
将 value
添加到队列的首部。
q.pop_back()
弹出队列最后一个元素。
q.pop_front()
弹出队列第一个元素。
q.size()
返回队列中元素的数量。
注意: 包含 #include <queue>
。
#include <iostream>
#include <queue>
using namespace std;
deque<int> q;
int main()
{
int n;
cin >> n;
for(int i = 0; i < n; ++ i)
{
int op, t;
cin >> op;
if(op == 1)
{
cin >> t;
q.push_back(t);
}
else if(op == 2)
{
cin >> t;
q.push_front(t);
}
else if(op == 3)
{
q.pop_back();
}
else
{
q.pop_front();
}
}
for(int i = 0; i < q.size(); ++ i) cout << q[i] << ' ';
return 0;
}
输入格式
第 行,为一个正整数 。
接下来 行,每行一个正整数 。
若 为 则接着输入一个整数 , 并将其 入队。
若 为 , 则接着输入一个整数 , 并将其 入队。
若 为 ,则弹出队列最后一个元素。
若 为 ,则弹出队列第一个元素。
数据保证 为 或 时队列不为空。
输出格式
共一行,输出操作后的 。
数据范围
输入样例:
3
1 2
2 1
4
输出样例:
2
相关
在下列比赛中: