索引堆:索引堆进行操作时,比较的是data数组,而交换的是index数组 原始的堆 原始的最大索引堆 进行排序之后的索引堆 从上面三幅图可以看出,利用索引堆进行排序时,相应的数据并未进行移动,而进行交换的数据对应的索引,因此可以很方便的进行复杂数据类型的排序。代码如下: