package main
import "fmt"
func main() {
l := []int{5,6,3,2,7,9,8,1}
fmt.Println(l)
fmt.Println(quickSort(l))
}
func quickSort(list []int) []int {
l := len(list)
if l == 0 {
return list
}
mid := list[0]
l1, l2 := []int{}, []int{}
for _, v := range list[1:] {
if v < mid {
l1 = append(l1,v)
} else {
l2 = append(l2,v)
}
}
l1 = quickSort(l1)
l2 = quickSort(l2)
l3 := append(l1,mid)
l3 = append(l3, l2...)
return l3
}
结果:
[5 6 3 2 7 9 8 1]
[1 2 3 5 6 7 8 9]