数据结构课程的内容10内部排序B教学课件.ppt

数据结构课程的内容10内部排序B教学课件.ppt

* 一趟归并排序算法: (两路有序并为一路) 参见教材P283 1 void Merge (SR,TR,i, m, n) { 2 // 将有序的SR[i…m]和SR[m+1…n]归并为有序的TR[i…n] 3 for(k=i , j=m+1; i=m j=n; ++k ) { 4 if ( SR[i]= SR[j] )TR[k]=SR[i++]; 5 else TR[k]=SR[j++]; // 将SR中记录由小到大地并入TR 6 }//for 7 if (i=m) TR[k…n]=SR[i…m]; // 将剩余的SR[i…m]复制到TR 8 if (j=n) TR[k…n]=SR[j…n]; // 将剩余的SR[j…n]复制到TR } // Merge * void MSort (SR,TR1,s, t) { // 将无序的SR[s…t]归并排序为TR1[s…t] if ( s==t ) TR1[s]=SR[s]; // 当len=1时返回 else { m=(s+t)/2; // 将SR [s…t]平分为SR [s…m]和SR [m+1…t] MSort (SR,T

文档评论(0)

1亿VIP精品文档

相关文档