基于数组实现顺序栈的代码

//基于数组实现的顺序栈
public class ArrayStack {
    private String[] items; // 数组
    private int count; // 栈中元素个数
    private int n; // 栈的大小

    // 初始化数组,申请一个大小为n的数组空间
    public ArrayStack(int n) {
        this.items = new String[n];
        this.n = n;
        this.count = 0;
    }

    // 入栈操作
    public boolean push(String item) {
        // 数组空间不够了,直接返回false,入栈失败。
        if (count == n)
            return false;
        // 将item放到下标为count的位置,并且count加一
        items[count] = item;
        ++count;
        return true;
    }

    // 出栈操作
    public String pop() {
        // 栈为空,则直接返回null
        if (count == 0)
            return null;
        // 返回下标为count-1的数组元素,并且栈中元素个数count减一
        String tmp = items[count - 1];
        --count;
        return tmp;
    }
}

 

posted @ 2020-02-12 18:16  gaopengpy  阅读(164)  评论(0编辑  收藏  举报