【发布时间】:2014-04-06 11:12:36
【问题描述】:
我正在编写一个只能使用堆栈的排序算法。通过增加堆栈的数量,我可以用更少的操作进行排序。
无论如何,假设我有一个包含 10 个整数的数据集。下面的内存有什么区别(std::stack):
- 大小为 2 的堆栈数组(每个堆栈 5 个整数)
- 大小为 10 的数组(每个堆栈 1 个整数)
- 大小为 20 的数组(10 个堆栈中每个整数,10 个堆栈为空)
另外,一个空的 int 堆栈需要多少内存?它只是一个额外的 int 指针吗?
请将此问题视为学术问题。我知道有更好的方法来解决这个问题,但我只能使用堆栈。
【问题讨论】:
-
什么是堆栈?您是指 C/C++ 调用堆栈还是您心中有数据结构或类?
-
哈珀,我正在使用 std::stack
-
无法回答,因为它显然取决于您正在使用的
std::stack的特定实现。 -
啊。这是可视化的 C++ 之一,但无论如何我现在明白了。抱歉,伙计们提出了愚蠢的问题!