以下是用Go语言实现的快速排序算法:
“`go
package main
import (
“fmt”
)
func quicksort(array []int) []int {
if len(array) < 2 {
return array
} else {
pivot := array[0]
var less []int
var greater []int
for _, num := range array[1:] {
if num <= pivot {
less = append(less, num)
} else {
greater = append(greater, num)
}
}
var result []int
result = append(result, quicksort(less)…)
result = append(result, pivot)
result = append(result, quicksort(greater)…)
return result
}
}
func main() {
arrayToSort := []int{10, 5, 3, 8, 2, 6, 4, 7, 9, 1}
fmt.Println("Before Sorting:", arrayToSort)
sortedArray := quicksort(arrayToSort)
fmt.Println("After Sorting:", sortedArray)
}
“`
在这段代码中,`quicksort` 函数接收一个整数数组,并返回一个已经排好序的同样类型的数组。在 `main` 函数中,我们创建了一个需要排序的数组,并打印出排序前和排序后的结果。
暂无评论内容