首页 > 编程语言 > 详细

Java 使用数组模拟栈数据结构

时间:2021-02-06 23:59:18      阅读:38      评论:0      收藏:0      [点我收藏+]

使用一维数组模拟栈数据结构,包括压栈,弹栈;

public class MyStack {
    private Object[] elements;
    private int index;

    public MyStack() {
        this.elements = new Object[10];   //栈的最大长度为10;
        this.index = -1;   //栈帧开始指向-1,表示栈为空;
    }
    //压栈方法
    public void push(Object obj){
        if(this.index >= this.elements.length-1){
            System.out.println("压栈失败,栈已满");
            return;
        }
        index++;
        elements[index] = obj;
        System.out.println("压栈"+obj+"成功,栈帧指向"+index);
    }
    //弹栈
    public void pop(){
        if(this.index < 0){
            System.out.println("栈为空,弹栈失败");
            return;
        }
        System.out.println("弹栈"+elements[index]+"成功,栈帧指向"+index);
        index--;
    }

    public Object[] getElements() {
        return elements;
    }

    public void setElements(Object[] elements) {
        this.elements = elements;
    }

    public int getIndex() {
        return index;
    }

    public void setIndex(int index) {
        this.index = index;
    }
}

编写测试程序:

public class MyStackTest {
    public static void main(String[] args) {
        MyStack mystack = new MyStack();
        //压栈遍历
        for (int i = 0; i < 11; i++) {
            mystack.push(new Object());
        }
        //弹栈遍历
        for (int i = 0; i < 11; i++) {
            mystack.pop();
        }
    }
}

 

Java 使用数组模拟栈数据结构

原文:https://www.cnblogs.com/homle/p/14383051.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!