1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
| class Solution { public int[] sortArray(int[] nums) { quickSort(nums, 0, nums.length - 1); return nums; }
void quickSort(int[] nums, int l, int r){ if(l < r){ int m = partation(nums, l , r); quickSort(nums, l, m-1); quickSort(nums, m+1, r); } }
int partation(int[] nums, int l, int r){ int c = nums[r]; int k = l; for(int i =l;i <r; i++){ if(nums[i] < c){ swap(nums, i, k); k++; } } swap(nums, r, k); return k; }
void swap(int[] nums, int i, int j){ int t = nums[i]; nums[i] = nums[j]; nums[j] = t; } }
|