package twostack;
import java.util.Stack;
class QuenenStack {
Stack<Object> a;
Stack<Object> b;
public QuenenStack(Stack<Object> a,Stack<Object> b) {
super();
this.a = a;
this.b = b;
}
//入队列
public void push(Object data) {
a.push(data);
}
//出队列
public Object pop() {
//把a栈倒入b栈
while(!a.empty()) {
b.push(a.pop());
}
//pop出b栈栈顶元素
Object o=b.pop();
//把b栈倒入a栈
while(!b.empty()) {
a.push(b.pop());
}
return o;
}
}
public class TwoStackToQueue {
public static void main(String[] args) {
Stack<Object> a=new Stack<Object>();
Stack<Object> b=new Stack<Object>();
QuenenStack qs=new QuenenStack(a,b);
qs.push(1);
qs.push(2);
qs.push(3);
System.out.println(qs.pop());
System.out.println(qs.pop());
qs.push(4);
System.out.println(qs.pop());
System.out.println(qs.pop());
}
}