Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.util.Stack;
- public class MyQueue {
- private Stack<Integer> oldStack;
- private Stack<Integer> newStack;
- public MyQueue(){
- oldStack = new Stack<Integer>();
- newStack = new Stack<Integer>();
- }
- public void enqueue(int data){
- newStack.push(data);
- }
- public Integer dequeue(){
- /*shift element from newStack to oldStack, while reverse the element order*/
- shift(newStack, oldStack);
- return oldStack.pop();
- }
- public int size(){
- return oldStack.size()+newStack.size();
- }
- private void shift(Stack<Integer> src, Stack<Integer> dest){
- /*only when oldStack is empty do we have to do the shift*/
- if(dest.isEmpty()){
- while(!src.isEmpty()){
- dest.push(src.pop());
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement