关注
```java
public static void descendingSort(int[] arr) {
for (int i = 1; i < arr.length; i++) {
swim(arr, i);
}
int size = arr.length;
swap(arr, 0, --size);
while (size > 0) {
sink(arr, 0, size);
swap(arr, 0, --size);
}
}
private static void swim(int[] arr, int i) {
while (i > 0 && arr[i] < arr[(i - 1) / 2]) {
swap(arr, i, (i - 1) / 2);
i = (i - 1) / 2;
}
}
private static void sink(int[] arr, int i, int n) {
while (2 * i + 1 < n) {
int left = 2 * i + 1;
int min = left;
min = left + 1 < n && arr[left] > arr[left + 1] ? min + 1 : min;
min = arr[i] <= arr[min] ? i : min;
if (min == i) return;
swap(arr, min, i);
i = min;
}
}
private static void swap(int[] arr, int i, int j) {
if (i != j) {
arr[i] = arr[i] ^ arr[j];
arr[j] = arr[i] ^ arr[j];
arr[i] = arr[i] ^ arr[j];
}
}
```
查看原帖
2 评论
相关推荐
07-01 01:25
辽宁科技大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 秋招笔面试记录 #
225332次浏览 3770人参与
# 我心目中的理想工作是这样的 #
74507次浏览 858人参与
# 如果工作一直消耗情绪还要继续做吗 #
7182次浏览 57人参与
# 牛客周边新品开箱 #
8164次浏览 86人参与
# 晒出你年味最浓的照片 #
18940次浏览 147人参与
# 假如你的老板掉河里,你的工作能为他做什么 #
32939次浏览 386人参与
# 今年春节,家人对你说的最多的话是什么? #
15706次浏览 120人参与
# 如果公司给你放一天假,你会怎么度过? #
20504次浏览 134人参与
# 毕业季,你想好怎么跟生活对线了吗? #
237359次浏览 3790人参与
# 给26届的秋招建议 #
46129次浏览 1152人参与
# 在职场上,你最讨厌什么样的同事 #
28744次浏览 212人参与
# 扒一扒那些奇葩实习经历 #
72904次浏览 940人参与
# 秋招投递记录 #
29622次浏览 324人参与
# 我的秋招“寄”录 #
51133次浏览 646人参与
# 辞职之后最想做的一件事 #
21864次浏览 226人参与
# 校招第一份工作你干了多久? #
100235次浏览 442人参与
# 比亚迪求职进展汇总 #
753134次浏览 3104人参与
# 饿了么求职进展汇总 #
65815次浏览 640人参与
# 实习的内耗时刻 #
65207次浏览 687人参与
# 如果校招重来我最想改变的是 #
281640次浏览 2916人参与