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工作流
- Latent放大comfyui工作流
- 一只被水晶包围的小动物ComfyUI工作流
- 一只由水晶制成的蜂鸟
- 一条色彩斑斓的超现实小孔雀鱼ComfyUI工作流
- 穿着蘑菇帽的小蚂蚁探险家ComfyUI工作流
- 泰坦尼克号桌面壁纸上ComfyUI工作流
- 《翅膀之王:鸡的团契》海报ComfyUI工作流
- 未来椅子3D产品ComfyUI工作流
猜你喜欢
声明:本站提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请发送到邮箱:admin@ipkd.cn,我们会在看到邮件的第一时间内为您处理!