开发者社区> 问答> 正文

查看栈顶元素

查看栈顶元素

展开
收起
苍霞学子 2020-04-01 21:32:23 1569 0
2 条回答
写回答
取消 提交回答
  • 有点尴尬唉 你要寻找的东西已经被吃掉啦!

    int Stack::peek() { if ( isEmpty() ) // 若栈为空,是否应该抛出异常? return 0 ; // 还是返回一个特殊值? else return data[top]; }

    2020-04-01 22:24:24
    赞同 展开评论 打赏
  • 下一站是幸福
    * @date 2020/4/1 - 18:01
     */
    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;
        }
        //判断栈是否为空
        public boolean isEmpty()
        {
            return elements.length==0;
        }
    
        //查看栈顶元素
        public int peek(){
            if (elements.length==0){
                throw new RuntimeException("stack is empty");
            }
            return elements[elements.length-1];
        }
        public static void main(String[] args) {
            Four ms = new Four();
            //压入元素
            ms.push(2);
            ms.push(4);
            ms.push(6);
            //取出元素
            System.out.println(ms.pop());
            System.out.println(ms.pop());
            System.out.println(ms.pop());
            //查看栈顶元素
            System.out.println(ms.isEmpty());
        }
    
    }
    
    2020-04-01 21:32:58
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

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