AcWing 785. 快速排序
原题链接
简单
作者:
Minions
,
2019-10-20 15:29:25
,
所有人可见
,
阅读 689
package main
import (
"fmt"
)
func quickSort(arr []int) []int {
if len(arr) <= 1 {
return arr
}
var left, right []int
pivot := arr[0]
for _, x := range arr[1:] {
if x < pivot {
left = append(left, x)
} else {
right = append(right, x)
}
}
return append(quickSort(left), append([]int{pivot}, quickSort(right)...)...)
}
func main() {
var N int
fmt.Scanf("%d\n", &N)
arr := make([]int, N)
for i := 0; i < N; i++ {
fmt.Scanf("%d", &arr[i])
}
arr = quickSort(arr)
for _, x := range arr {
fmt.Print(x, " ")
}
}