我可以用一点帮助。因此,heapsize被声明为数组中元素的数量。 data是数组。为什么我们要堆积++? maxSize也声明为数组的大小。让我们说我们将元素添加到堆中,它位于最后一个位置。为什么首先增加堆大小而不是仅仅把它放在数据[heapsize]中,因为heapsize将是最后一个空位。谢谢!
--select @query
答案 0 :(得分:0)
maxSize
是堆的最大容量,而heapsize
跟踪堆中当前元素的数量,可以小于或等于maxSize
。所以每次都是item已插入堆中,heapsize
增加了1
。
您还可以在插入后增加heapsize
,然后必须编写
data[heapsize] = item;
代替data[heapsize-1] = item;
。