0%
快排
哎,比想象中的花时间啊!
代码这东西,还是保持手感。唯手熟尔。
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
| func sortArray(nums []int) []int { start := 0 left := 0 right := len(nums) - 1 end := len(nums) if left >= right len(nums) <= 1{ return nums } pos := (right - left) / 2 mid := nums[pos] nums[left], nums[pos] = nums[pos], nums[left] for left < right{ for nums[right] >= mid && left < right{ right-- } nums[left], nums[right] = nums[right], nums[left] for nums[left] <= mid && left < right{ left++ } nums[left], nums[right] = nums[right], nums[left] } sortArray(nums[right+1:end]) sortArray(nums[start:left]) return nums }
|