关注
```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 评论
相关推荐
11-15 18:12
北京航空航天大学 算法工程师 点赞 评论 收藏
分享
牛客热帖
正在热议
# 25届秋招总结 #
298037次浏览 2624人参与
# 美团求职进展汇总 #
1326402次浏览 12441人参与
# 北方华创开奖 #
26330次浏览 284人参与
# 地方国企笔面经互助 #
3715次浏览 9人参与
# 如果不工作真的会快乐吗 #
58812次浏览 511人参与
# 选完offer后,你后悔学本专业吗 #
19529次浏览 142人参与
# 阿里云管培生offer #
16520次浏览 292人参与
# 国央企薪资爆料 #
7830次浏览 55人参与
# 如何一边实习一边秋招 #
991572次浏览 12635人参与
# 提前批简历挂麻了怎么办 #
146311次浏览 1944人参与
# 学历or实习经历,哪个更重要 #
50743次浏览 399人参与
# 海康威视求职进展汇总 #
398608次浏览 3405人参与
# 正在实习的你,几点下班 #
51509次浏览 383人参与
# 米哈游求职进展汇总 #
175721次浏览 1458人参与
# 投递实习岗位前的准备 #
1178751次浏览 18390人参与
# 面试体验感最好的是哪家? #
84989次浏览 845人参与
# 实习生应该准时下班吗 #
167337次浏览 1159人参与
# 得物求职进展汇总 #
66117次浏览 681人参与
# 求职遇到的搞笑事件 #
70597次浏览 576人参与
# 网申一定要掌握的小技巧 #
5301次浏览 53人参与
# 0offer是寒冬太冷还是我太菜 #
897643次浏览 8007人参与
# 腾讯求职进展汇总 #
195629次浏览 1639人参与