代码即思想。有空在补全思想吧。。
package main
import (
"fmt"
)
func main() {
arr := []int{4, 3, 1, 5, 6}
fmt.Printf("arr is %v", quickSort(arr))
}
func quickSort(arr []int) []int {
if len(arr) < 2 {
return arr
}
pivot := arr[0]
left := make([]int, 0, len(arr))
right := make([]int, 0, len(arr))
for _, val := range arr[1:] {
fmt.Println(val)
if pivot > val {
left = append(left, val)
} else if pivot < val {
right = append(right, val)
}
}
return append(append(quickSort(left), pivot), quickSort(right)...)
}