开发者社区 问答 正文

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

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

展开
收起
苍霞学子 2020-04-01 21:00:22 1250 分享
分享
版权
举报
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 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等

登录插画

登录以查看您的控制台资源

管理云资源
状态一览
快捷访问