基于数组的栈(Java)

package com.rao.linkList;


/**
 * @author Srao
 * @className ArrayStack
 * @date 2019/12/3 13:41
 * @package com.rao.linkList
 * @Description 基于数组的栈
 */
public class ArrayStack {
    private String[] items; //栈中的数据
    private int count;  //当前栈中元素的个数
    private int n;  //栈的大小

    /**
     * 初始化一个大小为n的栈
     * @param n
     */
    public ArrayStack(int n) {
        items = new String[n];
        count = 0;
        this.n = n;
    }

    /**
     * 入栈
     * @param s
     * @return 成功返回true,失败返回false
     */
    public Boolean push(String s){
        if (count >= n){
            return false;
        }
        items[count] = s;
        count++;
        return true;
    }

    /**
     * 出栈
     * @return 返回出栈的元素
     */
    public String pop(){
        if (count <= 0){
            return null;
        }
        String s = items[count-1];
        count--;
        return s;
    }

    public static void main(String[] args) {
        ArrayStack arrayStack = new ArrayStack(10);
        arrayStack.push("11");
        arrayStack.push("aa");
        arrayStack.push("@@");
        System.out.println(arrayStack.pop());
        System.out.println(arrayStack.pop());
        System.out.println(arrayStack.pop());
    }
}

在定义栈时,给栈定义一个表示栈中数据多少的属性会很有用

你可能感兴趣的:(基于数组的栈(Java))