标签:排序 i++ amp color 数列 || code 列合并 归并排序
int a[500002]; int b[500002]; void mergesort(int l,int mid,int r){ //使l~mid和mid~r两个有序数列合并为一个有序数列 int i=l,j=mid+1; for(int k=l;k<=r;k++){ if(j>r || i<=mid&&a[i]<=a[j]) b[k] =a[i++]; else b[k] =a[j++]; } for(int k=l;k<=r;k++) a[k]=b[k]; } void msort(int ll,int rr){ //排序从ll~rr的数列 int mid,s=2; while(s<rr-ll+1){ for(r=ll+s-1;r<=rr;r+=s){ l=r-s+1;mid=l+(s-1)/2; mergesort(l,mid,r); } mergesort(l,r-s,rr); s*=2; } }
标签:排序 i++ amp color 数列 || code 列合并 归并排序
原文地址:https://www.cnblogs.com/MayDayMemory/p/12081605.html