当前位置:   article > 正文

数据结构之归并排序(递归实现)_用递归算法实现归并排序,在主函数中输入一些数据,并通过该递归函数进行排序,并将

用递归算法实现归并排序,在主函数中输入一些数据,并通过该递归函数进行排序,并将
  1. #include<iostream>
  2. #include<cstdlib>
  3. using namespace std;
  4. #define MAXSIZE 20
  5. typedef int ElemType;
  6. typedef struct{
  7. ElemType Array[MAXSIZE + 1];//Array[0]置哨
  8. int length;
  9. }SqList;
  10. void Merge(ElemType S[], ElemType T[], int i, int m, int n)//归并基程序
  11. {//对S[i...m]和T[m+1...n]这两个有序表归并成一个有序表
  12. int j = m + 1, k = i;
  13. while (i <= m&&j <= n)
  14. {
  15. if (S[i] <= S[j]) T[k++] = S[i++];
  16. else T[k++] = S[j++];
  17. }
  18. if (i <= m)
  19. while (k <= n&&i <= m) T[k++] = S[i++];//k<=n一定成立,所有可有可无
  20. if (j <= n)
  21. while (k <= n&&j <= n) T[k++] = S[j++];//k<=n一定成立,所有可有可无
  22. }
  23. void MSort(ElemType S[], ElemType T[], int s, int t)//递归归并
  24. {
  25. int m;
  26. ElemType R[20];
  27. if (s == t)
  28. T[s] = S[s];//只有一个元素
  29. else
  30. {//多个元素
  31. m = (s + t) / 2;//一分为二
  32. MSort(S, R, s, m);//递归左区
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/454830
推荐阅读
相关标签
  

闽ICP备14008679号