用golang写一个快速排序算法并给出详细的代码注释
时间: 2023-03-10 21:53:08 浏览: 128
可以这样写: //实现快速排序
func QuickSort(arr []int) []int {
if len(arr) <= 1 {
return arr
}
//设置基准点
pivot := arr[0]
//定义左右数组
left := []int{}
right := []int{}
//循环遍历数组,将元素放到左右数组中
for i := 1; i < len(arr); i++ {
if arr[i] < pivot {
left = append(left, arr[i])
} else {
right = append(right, arr[i])
}
}
//递归排序
left, right = QuickSort(left), QuickSort(right)
//左右数组拼接
left = append(left, pivot)
left = append(left, right...)
return left
}
阅读全文