快排-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)
}

浙公网安备 33010602011771号