File tree Expand file tree Collapse file tree 1 file changed +11
-3
lines changed
leetcode4java/src/main/java/test/sort Expand file tree Collapse file tree 1 file changed +11
-3
lines changed Original file line number Diff line number Diff line change 33public class HeapSort {
44
55 public int [] sortArray (int [] nums ) {
6- for (int i = (nums .length >> 1 ) - 1 ; i >= 0 ; i --) adustHeap (nums , i , nums .length );
6+
7+ for (int i = (nums .length >> 1 ) - 1 ; i >= 0 ; i --)
8+ adustHeap (nums , i , nums .length );
9+
710 for (int i = nums .length - 1 ; i >= 0 ; i --) {
811 swap (nums , 0 , i );
912 adustHeap (nums , 0 , i );
@@ -12,19 +15,24 @@ public int[] sortArray(int[] nums) {
1215 }
1316
1417 private void adustHeap (int [] nums , int i , int length ) {
18+
1519 int tmp = nums [i ];
1620 for (int j = (i << 1 ) + 1 ; j < length ; j = (j << 1 ) + 1 ) {
17- if (j + 1 < length && nums [j + 1 ] > nums [j ]) j ++;
21+ if (j + 1 < length && nums [j + 1 ] > nums [j ])
22+ j ++;
23+
1824 if (nums [j ] > tmp ) {
1925 nums [i ] = nums [j ];
2026 i = j ;
21- } else break ;
27+ } else
28+ break ;
2229 }
2330 nums [i ] = tmp ;
2431 }
2532
2633
2734 void swap (int [] nums , int i , int j ) {
35+
2836 if (nums [i ] == nums [j ]) return ;
2937 nums [i ] ^= nums [j ];
3038 nums [j ] ^= nums [i ];
You can’t perform that action at this time.
0 commit comments