归并排MergeSort
平均时间复杂度:O(NlogN)
归并排序的效率是比较高的,设数列长为N,将数列分开成小数列一共要logN步,每步都是一个合并有序数列的过程,时间复杂度可以记为O(N),故一共为O(N*logN)。
基本思想:
归并排序是建立在归并操作上的一种有效的排序算法。该算法是采用分治法的一个非常典型的应用。
c++代码如下:
void MergeArray(int a[],int l,int r,int middle,int temp[]){
int i=l;
int m=middle;
int j=m+1;
int n=r;
int k=0;
while (i<=m&&j<=n)
{
if(a[i]<=a[j]){
temp