GO
快速排序
func quicksort(a []int) []int {
if len(a) <= 1 {
return a
}
var l []int
var r []int
var z int
for _, i := range a {
if i > a[0] {
r = append(r, i)
} else if i < a[0] {
l = append(l, i)
} else {
z++
}
}
var res []int
var m []int
for x := 0; x < z; x++ {
m = append(m, a[0])
}
l = quicksort(l)
r = quicksort(r)
res = append(l,m...)
res = append(res,r...)
return res
}