我的就地堆排序代码有什么问题

时间:2016-03-02 02:45:31

标签: java sorting heap heapsort

出于隐私原因删除了内容

1 个答案:

答案 0 :(得分:1)

问题似乎是索引,左右索引似乎是错误的

final int left = root * 2 + 1; final int right = root * 2 + 2;

这里你应该将代码更改为

final int left = root * 2; final int right = root * 2 + 1;

还要记住,你必须从1开始索引数组,而不是0。