当前位置:   article > 正文

归并排序_rcdtype

rcdtype

归并排序是一类不同的排序方法。“归并”的含义是将两个或连个以上的有序表组合成一个新的有序表。
假设初始序列含有n个记录,则可看成n个有序的子序列,每个子序列的长度为1,然后两两归并,得到⌈n/2⌉个长度为2或1的有序子序列;再两两归并,……,如此重复,直至得到一个长度为n的有序序列为止,这种排序方法成为2-路归并排序。这里写图片描述
其核心操作是将一维数组前后相邻的两个有序序列归并为一个有序序列。

void Merge (RcdType SR[], RcdType &TR[], int i, int m, int n)
{
    for(j = m + 1, k = i; i <= m&& j <= n; ++k){
        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];
    if(j <= n)
        TR[k..n] = SR[j..n];
}

void MSort(RcdType SR[], Rcdtype &TR1[], int s, intt)
{
    if(s == t)
        TR1[s] = SR[s];
    else{
        m = (s + t)/2;
        MSort(SR, TR2, s, m);
        MSort(SR, TR2, m + 1, t);
        Merge(TR2, TR1, s, m, t);
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小惠珠哦/article/detail/839457
推荐阅读
相关标签
  

闽ICP备14008679号