#2033. [模板] 双端队列
[模板] 双端队列
题目描述
请你实现一个双端队列(deque),支持如下操作:
push_back(x)
:向队列尾部中加入一个数 。push_front(x)
:向队列头部中加入一个数 。pop_front()
:将队首弹出。如果此时队列为空,则不进行弹出操作,并输出ERR_CANNOT_POP
。pop_back()
:将队尾弹出。如果此时队列为空,则不进行弹出操作,并输出ERR_CANNOT_POP
。front()
:输出队首元素。如果此时队列为空,则输出ERR_CANNOT_QUERY
。back()
:输出队尾元素。如果此时队列为空,则输出ERR_CANNOT_QUERY
。size()
:输出此时队列内元素个数。
输入格式
第一行,一个整数 ,表示操作的次数。
接下来 行,每行表示一个操作。格式如下:
1 x
,表示将元素x
加入队尾。2 x
,表示将元素x
加入队首。3
,表示将队首弹出队列。4
,表示将队尾弹出队列。5
,表示查询队首。6
,表示查询队尾。7
,表示查询队列内元素个数。
输出格式
输出若干行,对于每个操作,按「题目描述」输出结果。
每条输出之间应当用空行隔开。
4
1 2
2 3
5
6
3
2
提示
数据规模与约定
对于 的测试数据,满足 ,且被插入队列的所有元素值是 以内的正整数。