合规国际互联网加速 OSASE为企业客户提供高速稳定SD-WAN国际加速解决方案。 广告
> # 快速排序 | 排序算法 | 最坏情况时间复杂度 | 平均情况时间复杂度 | 最好情况时间复杂度 | 空间复杂度 | 稳定性 | | --- | --- | --- | --- | --- | --- | | 快速排序 | O(n^2) | O(nlogn) | O(nlogn) | O(nlog) | 不稳定 | - 对有序的数据排序效果差,导致调用栈长 - https://blog.csdn.net/u011947630/article/details/104691611 ~~~ package main import "fmt" func quickSort(arr []int) { if len(arr) < 2 { return } // 选择基准值 pivot := arr[0] // 分区 left, right := 1, len(arr)-1 for left <= right { for left <= right && arr[left] < pivot { left++ } for left <= right && arr[right] > pivot { right-- } if left <= right { arr[left], arr[right] = arr[right], arr[left] left++ right-- } } // 递归排序左右子数组 arr[0], arr[right] = arr[right], arr[0] quickSort(arr[:right]) quickSort(arr[right+1:]) } func main() { arr := []int{64, 34, 25, 90, 91, 12, 11} quickSort(arr) fmt.Println("After sorting:", arr) } ~~~