八大内部排序 -- 归并排序

归并排序(merge-sort):将两个或两个以上的有序列表组合成一个新的有序表,合并的m,n长度的两个表的复杂度为O(m+n),n个数的序列进行归并共有ceil(logn)次,每一次合并都是n常数级别的,所以总的复杂度为O(nlogn)。同时归并排序是一种稳定的排序。

代码如下,采用的是利用递归的方式书写,要对递归的工作方式要有比较深刻的理解哦。。

#include 
using namespace std;

void print(int *a,int n){
    for(int i=1;i<=n;i++){
        cout<>n;
    a= new int[n+1];

    for(int i=1;i<=n;i++){
        cin>>a[i];
    }

    Merge_sort(a,n);
    print(a,n);
    return 0;
}


你可能感兴趣的:(数据结构)