#P3516. 数组模拟双端队列
数组模拟双端队列
Description
虽然 STL 提供了 deque 这个双向队列,数组在 OI 中有天然的优势,我们还是需要学会使用数组模拟双向队列。使用数组来实现一个双向队列,队列初始为空,支持四种操作:
- push_front x – 向队首插入一个数 x;
- push_back x – 向队尾插入一个数 x;
- pop_front – 从队头弹出一个数;
- pop_back – 从队尾弹出一个数;
- size – 获得队列内数据个数;
- front – 查询队头元素;
- back – 查询队尾元素;
Input Format
第一行包含整数 M,表示操作次数。接下来 M 行,每行包含一个操作命令,操作命令为题目描述中的一种。
Output Format
输出每个操作 5,操作6 和操作 7 相应的结果。34
push_front 6
size
front
back
push_back 12
size
front
back
pop_front
size
front
back
pop_front
size
push_back 3
size
front
back
push_back 4
size
front
back
push_front 6
size
front
back
push_front 35
size
front
back
pop_back
size
front
back1
6
6
2
6
12
1
12
12
0
1
3
3
2
3
4
3
6
4
4
35
4
3
35
3
Hint
1≤M≤100000,1≤x≤10^9,
所有操作保证合法。