基于数组的堆栈内存效率

时间:2018-09-29 16:07:45

标签: vector stack

我知道堆栈可以通过动态数组(例如c ++中的std :: vector)或链接列表来实现。

基于动态数组实现堆栈时,容量将自动增加,新项目将被推入堆栈。 我想知道当从堆栈中弹出项目时,阵列的容量会减少吗?

在某些应用程序(例如路径搜索算法)中,许多项目会先被压入堆栈,然后弹出。当堆栈为空时,程序结束。如果数组的容量没有减少,程序结束时我将有一个大的空数组。

1 个答案:

答案 0 :(得分:0)

std::stack使用std::deque作为容器。可以根据需要调整大小,上下都可以。