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://ipkd.cn/webs_4260.html
workflows工作流
葡萄庄园白葡萄酒ComfyUI工作流
一只透明老虎骨骼标本ComfyUI工作流
stvmccrr风格的玫瑰花ComfyUI工作流
一个超现实和超现实的场景,在森林中心有一座蛇形的房子
一只穿着黑色蝴蝶结西装可爱橙色小猫
一只由水晶制成的蜂鸟
一尊白玉猴王ComfyUI工作流
爱因斯坦在做实验3d动漫ComfyUI工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!