zoukankan      html  css  js  c++  java
  • 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();
            }
        }
    }
  • 相关阅读:
    删除旧版vue-cli
    vue.extend和vue.component的区别
    vue-loader处理vue文件
    CentOS7安装iptables防火墙
    java类的初始化顺序
    java的接口和抽象类的理解
    js中的in操作符
    js中call和apply函数
    js的类型转换
    闭包作用
  • 原文地址:https://www.cnblogs.com/homle/p/14383051.html
Copyright © 2011-2022 走看看