堆栈数组实现,返回数组的大小

时间:2015-10-20 01:01:08

标签: java arrays count stack implementation

我试图找到堆栈中的元素数量(我正在实现一个数组)。到目前为止我已经

   int size = 0;
   while( top != -1 ){
   size++;
   pop();
}
   return size;

}

这通过给我大小来完美地工作,但是我不想清空我的阵列。如何修复我的代码才能执行此操作?

2 个答案:

答案 0 :(得分:0)

我不确定我是否正确地剔除了你的问题,但是如果你想知道你在一个集合中有多少个对象,你可以为例如:

for(int i=0; i=<theNameOfYourArray.size(); i++){
    System.out.println("Size of collection currently is: " + i);
}

然后检查输出的最后一个值。

答案 1 :(得分:0)

根据我的理解,我会建议采用以下方法。 不要删除pop()方法中最顶层的元素,只需减少指向堆栈最顶层元素的指针值。

private int pointerToTheTopmostElement = 0; // increase when pushed, decrease when poped

public int pop(){
    int popingElement = pointerToTheTopmostElement;
    pointerToTheTopmostElement--;
    return stack[popingElement];
}

这样的事情可能会做你需要的。