读书人

归并排序怎么实现哪位高手能帮小弟我

发布时间: 2012-04-25 19:32:32 作者: rapoo

归并排序如何实现,谁能帮我给一个归并排序的例子
归并排序如何实现,谁能帮我给一个归并排序的例子

[解决办法]

C/C++ code
void merg_sort(int nums[],unsigned int p,unsigned int r){    if(p<r)    {        int q=(p+r)/2;        merg_sort(nums,p,q);        merg_sort(nums,q+1,r);        merg(nums,p,q,r);    }}static int count=0;void merg(int nums[],unsigned int p,unsigned int q,unsigned int r){    int i,j,k;    int n1=q-p+1;    int n2=r-q;    int *L,*R;    L=(int *)malloc((n1+1)*sizeof(int));    R=(int *)malloc((n2+1)*sizeof(int));    for(i=0;i<n1;i++)    {        L[i]=nums[p+i];    }    for(i=0;i<n2;i++)    {        R[i]=nums[q+i+1];    }    L[n1]=65535;    R[n2]=65535;    i=0;    j=0;        for(k=p;k<=r;k++)    {        if(L[i]<=R[j])            nums[k]=L[i++];        else            nums[k]=R[j++];    }    free(L);    free(R);}
[解决办法]
我排序看了很多这个博客,感觉博主写得还不错
归并:http://blog.csdn.net/touch_2011/article/details/6785881
[解决办法]
收藏了~~
探讨

我排序看了很多这个博客,感觉博主写得还不错
归并:http://blog.csdn.net/touch_2011/article/details/6785881

读书人网 >C语言

热点推荐