标签:
归并排序算法是将两个(或两个以上)有序表合并成一个新的有序表,即把待排序序列分为若干个子序列,每个子序列是有序的,然后再把所有的有序子序列合并。
2-路归并排序示例:
2-路归并排序的核心操作是:将一维数组中前后相邻的两个有序序列归并为一个有序序列。其算法如下:
1 void Merge(Elemtype *r,Elemtype *rf,int i,int m,int n) 2 { 3 int j,k; 4 for(j=m+1;k=i;i<=m&&j<=n;++k) 5 { 6 if(r[j]<r[i]) 7 rf[k]=r[j++]; 8 else 9 rf[k]=r[i++]; 10 } 11 while(i<=m) 12 rf[k++]=r[i++]; 13 while(j<=n) 14 rf[k++]=r[j++]; 15 }
标签:
原文地址:http://www.cnblogs.com/sdutmyj/p/4545938.html