-
队列的结构如图1所示, s t a c k 1 stack1 stack1的顶部是队尾, s t a c k 2 stack2 stack2的顶部是队首
-
p u s h push push操作:直接 p u s h push push入 s t a c k 1 stack1 stack1
-
p o p pop pop操作:从 s t a c k 2 stack2 stack2中 p o p pop pop,如果 s t a c k 2 stack2 stack2为空,则把 s t a c k 1 stack1 stack1中全部元素移入 s t a c k 2 stack2 stack2
void push(int node) {
stack1.push(node);
}
int pop() {
if(stack2.empty())
{
while(!stack1.empty())
{
stack2.push(stack1.top());
stack1.pop();
}
}
int ans = stack2.top();
stack2.pop();
return ans;
}
- 例子:
入队1、2、3
出队一个元素
入队4、5、6
出队一个元素