现在给你一个队列,它一开始是空的,你需要模拟队列的操作。队列的操作包括如下:
1. “push x”:将元素 x 放入队列中,其中x是一个int范围内的整数;
2. “pop”,将队列的队首元素取出来,如果此时队列是空的,那么我们不进行任何操作;
3. “front”,输出队首元素对应的值,如果此时队列是空的,那么我们需要输出一个字符串“empty”;
4. “back”,输出队尾元素对应的值,如果此时队列是空的,那么我们需要输出一个字符串“empty”;
5. “size”,输出当前队列中元素的个数。
第一行一个正整数 n (1≤n≤100000),用于表示操作的数量。
接下来 n 行,每行可能是如下结构:
1. “push x”:将元素 x 放入队列中,其中x是一个int范围内的整数;
2. “pop”,将队列的队首元素取出来,如果此时队列是空的,那么我们不进行任何操作;
3. “front”,输出队首元素对应的值,如果此时队列是空的,那么我们需要输出一个字符串“empty”;
4. “back”,输出队尾元素对应的值,如果此时队列是空的,那么我们需要输出一个字符串“empty”;
5. “size”,输出当前队列中元素的个数。
你需要判断每一行输入,并执行对应的操作。
10 push 3 push 5 front back size pop pop pop front size
3 5 2 empty 0
【样例解释】
step.1: 将3 push 入队尾,此时队列中元素为:[ 3 ]
step.2: 将5 push 入队尾,此时队列中元素为:[ 3, 5 ]
step.3: 输出队首元素,此时队首元素为3,所以输出“3”
step.4: 输出队尾元素,此时队尾元素为5,所以输出“5”
step.5: 输出队列中元素个数,此时队列中元素个数为2,所以输出“2”
step.6: 将队首元素出队列,队首元素3出队列后,队列中元素为:[ 5 ]
step.7: 将队首元素出队列,队首元素5出队列后,队列中元素为:[ ] , 是一个空队列了
step.8: 将队首元素出队列,但是因为这个时候队列已经空了,所以我们什么操作都不做
step.9: 输出队首元素,此时队列为空,所以输出“empty”
step.10: 输出队列中元素个数,此时队列中元素个数为0,所以输出“0”
【数据规模】
50% 的数据,满足 1≤n≤1000;
100%的数据,满足 1≤n≤100000。