自己实现栈【亲测】

  • 栈类

public class MyStack {
    /**
     * 栈底层是数组实现
     *栈顶top,为-1时,栈为空
     */
    private long []arr;
    private int top;
    public MyStack(){
        arr=new long[10];
        top=-1;
    }
    public MyStack(int maxsize){
        arr=new long[maxsize];
        top=-1;
    }

    /*入栈*/
    void push(int value){
        arr[++top]=value;
    }

    /*出栈*/
    long pop(){
        return arr[top--];
    }

    /*查看栈顶元素*/
    long top(){
        return arr[top];
    }

    /*判断是否为空*/
    boolean isEmpty(){
        return top==-1;
    }

    /*判断栈是否满了*/
    boolean isFull(){
        return top==arr.length-1;
    }
}
  • 测试类

public class Test {
    public static void main(String[] args) {

        MyStack ms=new MyStack(4);
        ms.push(1);
        ms.push(2);
        ms.push(3);
        ms.push(4);
        System.out.println(ms.isEmpty());
        System.out.println(ms.isFull());
        System.out.println(ms.top());
        ms.pop();
        System.out.println(ms.isEmpty());
        System.out.println(ms.isFull());
        System.out.println(ms.top());
    }
}
  • 测试结果

猜你喜欢

转载自blog.csdn.net/Mr_L_h/article/details/85723437