开发者社区> 问答> 正文

使用数组模拟栈的压入、取出

使用数组模拟栈的压入、取出

展开
收起
苍霞学子 2020-04-01 21:00:22 1218 0
1 条回答
写回答
取消 提交回答
  • 下一站是幸福
    public class Four {
        //栈使用数组来表示
        int[] elements;
    
        public Four(){
            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(){
            //取出数组最后一个元素
            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;
        }
    
    2020-04-01 21:02:42
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
如何使用Tair增强数据结构构建丰富在线实时场景 立即下载
Apache Flink 流式应用中状态的数据结构定义升级 立即下载
低代码开发师(初级)实战教程 立即下载