数据结构第25讲-归并排序和数排序-CPPT课件.ppt

数据结构第25讲-归并排序和数排序-CPPT课件.ppt

第10章 内部排序 10.1 排序的基本概念 10.2 插入排序 10.3 交换排序 10.4 选择排序 10.5 归并排序 10.6 基数排序 10.7 各种内部排序方法的比较;10.5 归并排序;21;?void Merge(RcdType SR[ ],RcdType TR[ ],int i,int m,int n) { //将有序的SR[i..m]和SR[m+1..n]归并为有序的TR[i..n] ????for(j=m+1,k=i; i=m j=n;++k){ //将SR中记录由小到大并入TR ?????? if LQ(SR[i].key,SR[j].key) TR[k]=SR[i++]; ????? ?else TR[k]=SR[j++]; } ??????if (i=m) TR[k..n]=SR[i..m]; // 将剩余的SR[i..m]复制到TR ??????if (j=n) TR[k..n]=SR[j..n]; // 将剩余的SR[j..n]复制到TR ?}//merge;一趟归并排序的操作是,调用 [n/2h] 次算法 merge 将SR[1..n] 中前后相邻且长度为 h 的有序段进行两两归并,得到前后相邻、长度为 2h 的有序段,并存放在TR[1..n]中,整个归并排序需进行 [log2n] 趟。 ;?void MSort(RcdType SR[

文档评论(0)

1亿VIP精品文档

相关文档