package main
import "fmt"
func quickSort(arr []int) []int {
length := len(arr)
if length < 2 {
return arr
}
mid := arr[0]
var low, high = make([]int, 0), make([]int, 0)
for i := 1; i < length; i++ {
if arr[i] > mid {
high = append(high, arr[i])
} else {
low = append(low, arr[i])
}
}
lowSlice := quickSort(low)
highSlice := quickSort(high)
return append(append(lowSlice, mid), highSlice...)
}
func main() {
s := []int{22, 4, 7, 8, 8, 6, 3, 10, 9, 88, 66, 22}
fmt.Println(quickSort(s))
}
golang 实现快速排序
最新推荐文章于 2023-04-19 15:27:03 发布