栈—基于数组实现

package dataStructure.sortTest;

/**
 * @author lyq
 * @create 5/1/19
 */
public class MyStack {

    /**
     * 栈的大小
     */
    private int size;

    /**
     * 栈顶指针
     */
    private int top;

    /**
     * 存放数据的数组
     */
    private int[] data;

    public MyStack(int size) {
        this.size = size;
        data = new int[size];
        top = -1;
    }

    /**
     * 插入元素
     */
    public void push(int n) {
        if (isFull()) {
            System.out.println("栈已满");
            return;
        }
        data[++top] = n;
    }

    /**
     * 弹出栈顶元素
     */
    public int pop(){
        if (isEmpty()) {
            System.out.println("栈为空");
            return -1;
        }
        return data[top--];
    }

    /**
     * 返回栈顶元素
     */
    public int peek(){
        if (isEmpty()) {
            System.out.println("栈为空");
            return -1;
        }
        return data[top];
    }

    /**
     * 是否已满
     */
    public boolean isFull(){
        return top == size-1;
    }

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

}

猜你喜欢

转载自blog.csdn.net/qq_29468573/article/details/89735610
今日推荐