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


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

    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();
            }
        }
    }
  • 相关阅读:
    计算机书籍.网址
    MVC是必知必用的
    技术
    三色旗帜分类
    巴斯卡三角形
    Centos安装wine等组件的问题
    some software that is used to speed up your system
    驾照考试系统之流程图
    用静态成员函数调用非静态成员变量
    MFC 进度条控件
  • 原文地址:https://www.cnblogs.com/homle/p/14383051.html
Copyright © 2020-2023  润新知