package dataStructure_9_Stack;
import java.util.Stack;
import javax.management.RuntimeErrorException;
/*
* ����������ʵ��һ��ջ
*/
public class StackWithTwoQueue {
Queue<Integer> queue1 = new Queue<Integer>();
Queue<Integer> queue2 = new Queue<Integer>();
public void push(int data) {
queue1.enQueue(data);
}
public int pop() {
if(queue1.isEmpty()){
throw new RuntimeException("ջΪ��");
}
moveQueue1ToQueue2LeftLastOne();
int pop = queue1.deQueue();
moveQueue2ToQueue1();
return pop;
}
private void moveQueue2ToQueue1() {
while(!queue2.isEmpty()){
queue1.enQueue(queue2.deQueue());
}
}
private void moveQueue1ToQueue2LeftLastOne() {
while(queue1.size()!=1){
queue2.enQueue(queue1.deQueue());;
}
}
}