归并排序
Posted asuml
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了归并排序相关的知识,希望对你有一定的参考价值。
void mergeArray(int a[],int start,int mid,int endd) { int i,j,m,n; i=start; j=mid+1; m=mid; n=endd; int k=0; while(i<=m&&j<=n) { if(a[i]>a[j]) temp[k++]=a[i++]; else temp[k++]=a[j++]; } while(i<=m) temp[k++]=a[i++]; while(i<=n) temp[k++]=a[j++]; for(int i=0;i<k;i++) a[start+i]=temp[i]; } void marge_sort(int a[],int start,int endd) { int mid=(start+endd)/2; if(start<endd) { marge_sort(a,start,mid); marge_sort(a,mid+1,endd); mergeArray(a,start,mid,endd); } }
以上是关于归并排序的主要内容,如果未能解决你的问题,请参考以下文章