简介pdqsort
- 是一种不稳定的混合排序算法
- 结合三种排序的特点
pdqsort的代码实现
package main
import (
"fmt"
"sort"
)
func main() {
slice := []int{5, 2, 9, 1, 3}
// 使用pdqsort进行排序
sort.Slice(slice, func(i, j int) bool {
return slice[i] < slice[j]
})
// 输出排序结果
fmt.Println(slice)
}
比较插入排序
package main
import (
"fmt"
)
func InsertionSort(arr []int,n int) {
for i := 1; i < n; i++ {
key := arr[i]
j := i - 1
for j >= 0 && arr[j] > key {
arr[j + 1] = arr[j]
j--
}
arr[j + 1] = key
fmt.Println(arr)
}
对于短序列,使用插入排序(短序列的具体长度是12~32,在不同语言和场景中会有不同,测试选定24)