stack实现源码

package ch03;

/**
 * 栈的实现原理
 * Created by duyizhen on 2018/3/31.
 */
public class MyStack {

    private long[] arr; // 基本容器
    private int top; // 类似指针

    /**
     * 默认构造方法
     */
    public MyStack(){
        arr = new long[10];
        top = -1;
    }

    /**
     * 携带参数构造方法 指定大小
     * @param maxSize
     */
    public MyStack(int maxSize){
        arr = new long[maxSize];
        top = -1;
    }

    /**
     * 添加一个数据
     */
    public void push(int value){
        arr[++top] = value;
    }

    /**
     * 移除一个数据
     * @return
     */
    public long pop(){
        return arr[top--];
    }

    /**
     * 查看数据
     * @return
     */
    public long peek(){
        return arr[top];
    }

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

    /**
     * 判断是否满了
     * @return
     */
    public boolean isFull(){
        return top == arr.length -1;
    }
}

你可能感兴趣的:(stack实现源码)