快排-Go版本
题目描述
给定一个数组,请你编写一个函数,返回该数组排序后的形式。
示例1
返回值
复制[1,2,3,4,5]
func MySort( arr []int ) []int { // write code here if len(arr) < 2{ return arr } quickSort(arr,0,len(arr)-1) return arr } func quickSort(arr []int, left , right int) { if right <= left { return } l, r := left, right povit := arr[left] for l < r{ for arr[r] > povit && l<r{ r-- } for arr[l] <= povit && l<r { l++ } arr[l],arr[r] = arr[r], arr[l] } arr[l], arr[left] = arr[left], arr[l] quickSort(arr, left,l-1) quickSort(arr,l+1,right) }