golang归并排序算法
发布时间:2021-05-18 编辑:jiaochengji.com
教程集为您提供golang归并排序算法等资源,欢迎您收藏本站,我们将为您提供最新的golang归并排序算法资源
package algorithm
func merge(a []int, p int, q int, r int) {
L := make([]int, q-p 1)
R := make([]int, r-q)
for i := 0; i < len(L); i {
L[i] = a[i p]
}
for i := 0; i < len(R); i {
R[i] = a[i q 1]
}
L = append(L, 0x7FFFFFFF)
R = append(R, 0x7FFFFFFF)
i := 0
j := 0
for k := p; k <= r; k {
if L[i] < R[j] {
a[k] = L[i]
i
} else {
a[k] = R[j]
j
}
}
}
func MergeSort(a []int, p int, q int) {
if p < q {
m := (p q) / 2
MergeSort(a, p, m)
MergeSort(a, m 1, q)
merge(a, p, m, q)
}
}
到此这篇关于“golang归并排序算法”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!
您可能感兴趣的文章:
golang归并排序算法
Go实战--golang中各种排序算法实现以及生成随机数
数据结构和算法(Golang实现)(10)基础知识-算法复杂度主方法
Go-sort对map的value进行排序
javascript排序算法之合并排序与归并排序的例子
java排序算法
Golang实现常见排序算法
golang 算法课 给定乱序的0, 1 输出前0 后1
【golang】算法 -- 快速排序
排序算法—归并排序【附代码】
[关闭]