
public void heapSort2(int[] nums) {
for(int i = nums.length/2-1; i >= 0; i--){
sift(nums, i, nums.length);
}
for (int i = nums.length-1; i > 0; i--) {
int temp = nums[0];
nums[0] = nums[i];
nums[i] = temp;
sift(nums, 0, i);
}
}
private void sift(int[] nums, int parent, int len) {
int value = nums[parent];
for (int child = 2*parent +1; child < len; child = child*2 +1) {
if(child+1 < len && nums[child+1] > nums[child]){
child++;
}
if(nums[child] > value){
nums[parent] = nums[child];
parent = child;
} else {
break;
}
}
nums[parent] = value;
}
PS:大顶堆实现升序,每次将最大值移到堆的最后一个位置上
上面是“java常见排序算法——堆排序(附代码示列)”的全面内容,想了解更多关于 后端开发 内容,请继续关注web建站教程。
当前网址:https://m.ipkd.cn/webs_4260.html
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!

帝国CMS7.0功能之支持多MYSQL服务器读写分离,使网
电视剧《边水往事》中有哪些有趣的故事单元(剧情讲解)
Laper:一个AI剧本创作平台,让专业编剧效率翻倍
Caimera:一款专注于时尚、电商、广告的专业AI图像生成工具
牛阅网:一个提供免费小说在线阅读和下载服务的平台
有麻豆官网入口,一个提供电商交易SaaS/供应链服务/仓储代发/直播和云客服等平台