虎太郎 level
获赞
102
粉丝
2
关注
4
看过 TA
10
玉林师范学院
2021
算法工程师
IP属地:广东
暂未填写个人简介
私信
关注
2020-04-25 23:15
已编辑
玉林师范学院 算法工程师
/* 不知道怎么回事,就是得不到正确的结果,大根堆的可以 */ public static void smallHeapCreate(int [] arr){         for(int i=0;i<arr.length;i++){             while (arr[i]<arr[(i-1)/2]){                 swap(arr,i,(i-1)/2);                 i=(i-1)/2;             }         }         int size=arr.length;         swap(arr,...
chinabroccoli:```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]; } } ```
0 点赞 评论 收藏
分享
关注他的用户也关注了:
牛客网
牛客企业服务