索引堆:
索引堆进行操作时,比较的是data数组,而交换的是index数组

原始的堆

原始的最大索引堆

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





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