funcmerge(a[]int,b[]int)[]int{
l :=[]int{}forlen(a)>0&&len(b)>0{if a[0]<b[0]{
l =append(l,a[0])
a =append(a[:0],a[1:]...)}else{
l =append(l, b[0])
b =append(b[:0],b[1:]...)}}iflen(a)<1{
l =append(l,b...)}else{
l =append(l,a...)}return l
}funcmergeSort(array []int)[]int{iflen(array)<=1{return array
}
mid :=(0+len(array))/2
fmt.Println(array[:mid],array[mid:])
left:=mergeSort(array[:mid])
right:=mergeSort(array[mid:])returnmerge(left,right)}
归并排序要点,不断二分并排序,直到最后两个大的有序合并归并排序优点:时间复杂度:log(n),有序归并排序缺点:需要大量空间func merge(a[]int,b[]int)[]int{ l := []int{} for len(a)>0&&len(b)>0{ if a[0]<b[0]{ l = append(l,a[0]) a = ap...