以下是使用 Go 语言实现快速排序算法的简单示例:
package main
import "fmt"
func quickSort(arr []int) {
if len(arr) <= 1 {
return
}
pivot := arr[len(arr)/2]
var left, right []int
for _, num := range arr {
if num < pivot {
left = append(left, num)
} else if num > pivot {
right = append(right, num)
}
}
quickSort(left)
quickSort(right)
copy(arr, append(append(left, pivot), right...))
}
func main() {
// 示例数组
array := []int{64, 34, 25, 12, 22, 11, 90}
fmt.Println("Unsorted array:", array)
// 调用快速排序函数
quickSort(array)
fmt.Println("Sorted array:", array)
}
在这个例子中,quickSort
函数接收一个整数切片,使用递归的方式进行快速排序。在 main
函数中,我们定义了一个示例数组,调用 quickSort
函数对其进行排序,并输出结果。
快速排序算法的平均时间复杂度为 O(n log n),相对于冒泡排序而言更为高效。在实际应用中,快速排序通常是处理大型数据集时的一个良好选择。