六、用Array模拟简易版Stack

一、核心思想

栈只允许访问一个数据项,也就是最后插入的数据项,只有移除了这个数据项才能访问倒数第二个插入的数据项。先进后出。

二、源码

package com.ctw;

/**
 * @author TongWei.Chen 2018-09-29 13:37:14
 * @Description:
 * @Project sjjg-sf
 */
public class MyStack {

    private int maxSize;

    private long[] arr;

    // 栈顶位置
    private int top;

    // 构造器
    public MyStack(int size) {
        maxSize = size;
        arr = new long[maxSize];
        top = -1;
    }

    // 入栈
    public void push(long value) {
        arr[++ top] = value;
        /*
         * 上面一句话等于下面两句话:
         * top ++;
         * arr[top] = value;
         */
    }

    // 出栈
    public long pop() {
        return arr[top --];
        /*
         * 上面一句话等于下面三句话:
         * long value = arr[top];
         * top --;
         * return value;
         */
    }

    // 访问栈顶元素
    public long peek() {
        return arr[top];
    }

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

    // 栈是否满了
    public boolean isFull() {
        return top == maxSize - 1;
    }

    public static void main(String[] args) {
        MyStack myStack = new MyStack(6);
        myStack.push(1L);
        myStack.push(2L);
        myStack.push(3L);
        myStack.push(4L);
        myStack.push(-100L);
        System.out.println(myStack.peek());
        while (! myStack.isEmpty()) {
            System.out.println(myStack.pop());
        }
    }
}

三、广告

  • 码云地址

    https://gitee.com/geekerdream/

  • QQ群【Java初学者学习交流群】:458430385

  • 微信公众号【Java码农社区】

    img
  • 今日头条号:编程界的小学生

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • (译) JSON-RPC 2.0 规范(中文版) Gitee 下载 Github 下载 SourceForge 下...
    布客飞龙阅读 982评论 0 5
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,721评论 25 709
  • 孩子的成就不光是成绩能体现的,素质教育亦是重要。 最近有一篇文章很火:《小孩的恶到底有多可怕》 在文章里,作者谈及...
    大胖何佛侠阅读 409评论 0 0
  • 文|木凡就是喜欢独坐。没有理由,亦没有目的。不喜欢被打扰,亦不喜欢去打扰别人。 点上一杯咖啡,在一处角落里独坐到底...
    木凡I先生阅读 312评论 2 2
  • 权杖5,读牌1、看到一群人像是一起做一件事情,只有那个穿红色衣服的人感觉是在打架,其他人都感觉是积极的去完成一件事...
    塔罗师默默阅读 183评论 0 0