关注
```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 评论
相关推荐
12-17 10:20
河北工业大学 Java 点赞 评论 收藏
分享
牛客热帖
更多
正在热议
更多
# 你小心翼翼的闯过多大的祸? #
4001次浏览 68人参与
# 找不到实习会影响秋招吗 #
1399871次浏览 13635人参与
# 实习没事做是福还是祸? #
4349次浏览 68人参与
# 重来一次,你会对开始求职的自己说 #
940次浏览 19人参与
# 2025年终总结 #
134546次浏览 2294人参与
# 考研人,我有话说 #
156611次浏览 1211人参与
# 哪些公司笔/面试难度大? #
7080次浏览 32人参与
# 实习简历求拷打 #
24196次浏览 249人参与
# 你觉得现在还能进互联网吗? #
29963次浏览 201人参与
# 携程工作体验 #
18958次浏览 66人参与
# 大厂VS公务员你怎么选 #
69144次浏览 638人参与
# 扒一扒那些奇葩实习经历 #
140184次浏览 1149人参与
# 找不到好工作选择GAP真的丢人吗 #
93724次浏览 1007人参与
# 那些我实习了才知道的事 #
253129次浏览 1785人参与
# 非技术投递记录 #
672955次浏览 6821人参与
# 机械求职避坑tips #
81093次浏览 531人参与
# 投格力的你,拿到offer了吗? #
154985次浏览 829人参与
# 第一份工作能做外包吗? #
94073次浏览 599人参与
# 作业帮求职进展汇总 #
85505次浏览 559人参与
# 秋招遇到的奇葩面试题 #
101272次浏览 416人参与