0%

Go 语言学习笔记:快速排序的实现

golang 中 slice 的便捷操作使排序也更加方便,这是一个使用递归完成的快排。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
func quickSort(arr []int) []int {
if len(arr) <= 1 {
return arr
}
index := len(arr) / 2

var left, right []int
for i, v := range arr {
if i == index {
continue
}
if v <= arr[index] {
left = append(left, v)
continue
}
right = append(right, v)
}
return append(append(quickSort(left), arr[index]), quickSort(right)...)
}