归并模板
int n[a],t[a]; void msort(int l,int r) { if(l>=r)return ; int m=(r+l)/2; msort(l,m); msort(m+1,r); int k=0,i=l,j=m+1; while(i<=m&&j<=r) { if(n[i]<n[j])t[k++]=n[i++]; else t[k++]=n[j++]; } for(i=l,j=1;i<=r;i++,j++)n[i]=t[j]; }
int n[a],t[a]; void msort(int l,int r) { if(l>=r)return ; int m=(r+l)/2; msort(l,m); msort(m+1,r); int k=0,i=l,j=m+1; while(i<=m&&j<=r) { if(n[i]<n[j])t[k++]=n[i++]; else t[k++]=n[j++]; } for(i=l,j=1;i<=r;i++,j++)n[i]=t[j]; }
相关推荐