//分治法:合并排序 int merge(int A[],int p,int q,int r) //假设数组A[p...q]和A[q+1...r]已经排好序{ int n1=q-p+n; int n2=r-q; int L[n1],R[n2]; for(int i=1;i<=n1;i++) L[i]=A[p+i-1]; for(int j=1;j<=n2;j++) R[j]=A[q+j]; i=1; j=1; for(k=p;k<=r;k++) { if(L[i]<=R[j]) { A[k]=L[i]; i++ } else { A[k]=R[j]; j++; } }}

评论