Problem1551--用栈实现队列

1551: 用栈实现队列

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 115  Solved: 39
[Submit] [Status] [Web Board] [Creator:]

Description

用两个栈来实现队列,能够正确地执行以下操作:
操作1: void push(int val); //往队尾插入元素val
操作2: void pop(); //删除队首元素,若队列为空则不进行操作
操作3: int front(); //获取队首元素,若队列为空返回-1
操作4: int back(); //获取队尾元素,若队列为空返回-1

Input

第一行输入操作次数m(1<m<=1e4)。
接下来m行首先输入一个操作数x,代表执行第x个操作,
若x==1,则再输入一个正整数val代表push的元素值。

Output

对于每个front()和back()操作,输出相应的结果。

Sample Input

8
1 4
3
1 5
3
2
3
1 3
4

Sample Output

4
4
5
3

HINT

推荐使用c++STL中的stack来实现。

Source/Category