2011-05-07 43 views
0

我遇到了下推堆栈的问题!我有一个最大大小为10的数组。我允许用户通过push将数字输入到堆栈中,并使用pop将其删除。根据数组中有多少个数字,我必须遍历堆栈,堆栈的长度不一定总是10。假设堆栈中有5个数字(数组的大小为10)。我需要通过元素5遍历元素,因为过去的所有内容都不是数字。我怎样才能做到这一点?迭代通过一个未知大小的数组C++

+0

难道你不保留堆栈顶?这是你的上限,而不是10. – atoMerz 2011-05-07 17:53:28

+1

这是功课吗?如果是,它应该被标记为如此。 '未知'标签根本没有帮助。人们会问问题,因为他们不知道*。有点多余,不是吗? – karlphillip 2011-05-07 17:57:07

回答

2

使用std :: vector作为堆栈的底层存储,并使用迭代器begin(),end()来获取向量中有效元素的范围。

4

为什么不跟踪C++类中堆栈中有多少元素?当有人呼叫推送时,增加计数,并且当有人呼叫流行音时,减少计数。

+0

dsolimano谢谢你!为什么我不这么想:( – ASCII 2011-05-07 18:13:28

+0

@ASCII,第一次看到它后总是比较容易,如果答案解决了你的问题,你应该用投票箭头点击复选标记。 – dsolimano 2011-05-07 19:44:22