计算Stack ADT

时间:2015-09-07 11:02:53

标签: java list generics stack adt

这是计算堆栈中项目的好方法吗?我不确定这是否是正确的实施方法

private someList<E> stack;

public int countItems(){

        Stack<E> newStack = new Stack<E>();

        int count = 0;

        while(!stack.isEmpty()){

            newStack.push(this.pop());
            count++;
        }

        for(int i = 0; i < count; i++) {  
            this.push(newStack.pop());
        }
        return count;   

    }

1 个答案:

答案 0 :(得分:0)

public int count() {
    return stack.size();
}

为什么要再次发布? 我已在你的previous帖子中回答了这个问题......

由于 O(n)行为,你做的方式不是你要走的路! 使用我的解决方案stack.size(),它位于 O(1)中,因为您唯一要做的就是询问ArrayList它的大小({{1}明确记住它的大小,以便它可以立即回答你的问题(无需先计算元素)。)