开发者社区 问答 正文

判断栈是否为空

判断栈是否为空

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

    int SeqStackIsEmpty(SeqStack *s) //判断栈是否为空 { return(s->top==0); }

    2020-04-01 22:25:10
    赞同 展开评论
  • 下一站是幸福
    * @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;
        }
    }
    
    2020-04-01 21:29:30
    赞同 展开评论
问答标签:
问答地址: