资讯动态

Go语言排序算法:快速排序与归并排序

发布时间:2026/8/17 22:39:11 来源:尧图企业网站定制
Go语言排序算法快速排序与归并排序1. 快速排序func quickSort(arr []int, low, high int) { if low high { pi : partition(arr, low, high) quickSort(arr, low, pi-1) quickSort(arr, pi1, high) } } func partition(arr []int, low, high int) int { pivot : arr[high] i : low - 1 for j : low; j high; j { if arr[j] pivot { i arr[i], arr[j] arr[j], arr[i] } } arr[i1], arr[high] arr[high], arr[i1] return i 1 }2. 归并排序func mergeSort(arr []int) []int { if len(arr) 1 { return arr } mid : len(arr) / 2 left : mergeSort(arr[:mid]) right : mergeSort(arr[mid:]) return merge(left, right) } func merge(left, right []int) []int { result : make([]int, 0, len(left)len(right)) i, j : 0, 0 for i len(left) j len(right) { if left[i] right[j] { result append(result, left[i]) i } else { result append(result, right[j]) j } } result append(result, left[i:]...) result append(result, right[j:]...) return result }3. 总结快速排序和归并排序是两种经典的高效排序算法平均时间复杂度为O(nlogn)。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价