一、引入
假设我们要将两个升序数组合并为一个升序数组
A{1,3,6,8,9}
B{2,4,5,7}
我们需要再创建一个数组,它的大小为A和B的和,
C[9]
设置三个指针 i, j, k分别指向A[0], B[0], C[0]
若A[i] < B[j],C[i]=A[i],i++,k++
若A[i] > B[j],C[i]=B[j],j++,k++
于是A和B就合并了
二、归并排序
归并排序就是将一个序列拆成一个一个元素组成的小块
这时每个小块就可以看成是有序的,因为它的里面只有一个元素
然后把每个小块按照上面的思想递归地慢慢合并
最后就能得到一个有序的序列
复杂度o(nlogn)