数组 A 的 A.heapsize 和 A.length 之间的差异(示例)

Gau*_*rav 5 algorithm

有人可以通过一个例子解释一下数组 A 的 A.heapsize 和 A.length 之间的区别吗?

找到了一个相关的线程(What is the Difference Between A.length and A.heap-size?),但无法获得差异,该差异是特定于堆排序的差异还是普遍适用于所有堆。

Mer*_*kas 0

您可以认为数组是一个容器,堆是您拥有的资源量。在 C++(以及一般情况)等语言中,数组将从默认值(例如 100 个元素)开始。一旦使用了所有可用空间,编译器将创建一个两倍于原始大小的新数组。

含义:您的堆可能有 10 个节点,但您的数组的容量为 100 个。我建议查看 C++ 矢量sizecapacity.