基于数组的栈(Java)

Posted 饶一一

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了基于数组的栈(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)的主要内容,如果未能解决你的问题,请参考以下文章

数据结构 - 基于数组的栈

算法(第四版)学习笔记之java实现可以动态调整数组大小的栈

深入理解Java 栈数据结构

栈(基于数组&基于链表)与队列(基于数组&基于链表)

用数组结构实现大小固定的栈和队列

基于String Array项,向下一个片段显示相同的项