zoukankan      html  css  js  c++  java
  • package stack;
    
    public class MyStack {
    
        //栈的底层我们使用数组来存储数据
        int[] elements;
    
        public MyStack() {
            elements = new int[0];
        }
    
        //压入元素
        public void push(int element) {
            // 创建一个新的数组
            int[] newArr = new int[elements.length + 1];
            // 把原数组中的元素复制到新数组中
            for (int i = 0; i < elements.length; i++) {
                newArr[i] = elements[i];
            }
            // 把添加的元素放入新数组中
            newArr[elements.length] = element;
            // 使用新数组替换旧数组
            elements = newArr;
        }
    
        //取出栈顶元素
        public int pop() {
            //栈中没有元素
            if(elements.length==0) {
                throw new RuntimeException("stack is empty");
            }
            //取出数组的最后一个元素
            int element = elements[elements.length-1];
            //创建一个新的数组
            int[] newArr = new int[elements.length-1];
            //原数组中除了最后一个元素的其它元素都放入新的数组中
            for(int i=0;i<elements.length-1;i++) {
                newArr[i]=elements[i];
            }
            //替换数组
            elements=newArr;
            //返回栈顶元素
            return element;
        }
    
        //查看栈顶元素
        public int peek() {
            //栈中没有元素
            if(elements.length==0) {
                throw new RuntimeException("stack is empty");
            }
            return elements[elements.length-1];
        }
    
        //判断栈是否为空
        public boolean isEmpty() {
            return elements.length==0;
        }
    }
    
  • 相关阅读:
    For each db / table
    转---网络上来的,做一个数组样的结构
    JAVA 相关资料
    转--也不知是哪位大侠写的了
    T-SQL切割字符串方法小结 2
    OPENQUERY
    行集函数专题
    行列转换
    第一章 SQL基础
    解释型语言与编译型语言的区别
  • 原文地址:https://www.cnblogs.com/lihao-bupt/p/12882358.html
Copyright © 2011-2022 走看看