1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| package main
import "fmt"
func quickSort(arr []int) { if len(arr) < 2 { return }
pivot := arr[0] var left, right []int
for _, v := range arr[1:] { if v <= pivot { left = append(left, v) } else { right = append(right, v) } }
quickSort(left) quickSort(right)
copy(arr, left) arr[len(left)] = pivot copy(arr[len(left)+1:], right) }
func main() { arr := []int{64, 34, 25, 12, 22, 11, 90} fmt.Println("原始数组:", arr) quickSort(arr) fmt.Println("排序后数组:", arr) }
|