java栈实现队列

栈实现队列思路和队列实现栈一样,先创建两份栈,用push来增加变量

点击查看代码
public MyQueue() {
        stack1 = new Stack();
        stack2 = new Stack();
    }

    public void push(int x) {
        stack1.push(x);
    }
pop方法中将第一个栈stack1放进第二个栈stack2,只保留一个,就是我们需要的队列的第一个元素,用x记录然后移除,再把stack2栈放进stack1
点击查看代码
public int pop() {
        while (stack1.size() != 1 ){
            stack2.push(stack1.pop());
        }
        int x = stack1.pop();
        while (stack2.size() != 0){
            stack1.push(stack2.pop());
        }
        return x;
    }
peek就是在pop的基础上不移除
点击查看代码
public int peek() {
        while (stack1.size() != 1 ){
            stack2.push(stack1.pop());
        }
        int x = stack1.peek();
        while (stack2.size() != 0){
            stack1.push(stack2.pop());
        }
        return x;
    }
empty就是看stack1里面有没有别的元素
点击查看代码
 public boolean empty() {
        if(stack1.size() == 0){
            return true;
        }else {
            return false;
        }
    }
posted @ 2026-02-04 01:05  alexacaily36  阅读(4)  评论(0)    收藏  举报