Appearance
快速排序
Go
package main
import "fmt"
func main() {
a := []int{2, 4, 1, 6, 7, 3, 9, 0}
fmt.Println(quickSort(a))
}
func quickSort(a []int) []int {
if len(a) <= 1 {
return a
}
bench := a[0]
var left, right []int
for i := 1; i < len(a); i++ {
if a[i] > bench {
right = append(right, a[i])
} else {
left = append(left, a[i])
}
}
return append(append(quickSort(left), bench), quickSort(right)...)
}