归并排序模版(分治思想)

来源:互联网 发布:淘宝双十一买什么划算 编辑:程序博客网 时间:2024/06/06 19:30
void mysort(int x[],int y[],int l,int r)//x为输入数组,y是用来暂时存数的,l是所选素组段左坐标,r是所选素组段右坐标{    if(l<r)    {        int k=(l+r)/2;        int i=l,j=k+1,z=l;        mysort(x, y, l, k);//向左分        mysort(x, y, k+1,r);//向右分        while(z<=k||j<=r){//合并            if(j>r||(z<=k&&a[z]<=a[j]))                y[i++]=x[z++];            else                y[i++]=x[j++];        }        for(int i=l;i<=r;i++)//更新输入数组            x[i]=y[i];    }}

原创粉丝点击