赞
踩
- #include<iostream>
- #include<cstdlib>
- using namespace std;
- #define MAXSIZE 20
- typedef int ElemType;
- typedef struct{
- ElemType Array[MAXSIZE + 1];//Array[0]置哨
- int length;
- }SqList;
- void Merge(ElemType S[], ElemType T[], int i, int m, int n)//归并基程序
- {//对S[i...m]和T[m+1...n]这两个有序表归并成一个有序表
- int j = m + 1, k = i;
- while (i <= m&&j <= n)
- {
- if (S[i] <= S[j]) T[k++] = S[i++];
- else T[k++] = S[j++];
- }
- if (i <= m)
- while (k <= n&&i <= m) T[k++] = S[i++];//k<=n一定成立,所有可有可无
- if (j <= n)
- while (k <= n&&j <= n) T[k++] = S[j++];//k<=n一定成立,所有可有可无
- }
-
- void MSort(ElemType S[], ElemType T[], int s, int t)//递归归并
- {
- int m;
- ElemType R[20];
- if (s == t)
- T[s] = S[s];//只有一个元素
- else
- {//多个元素
- m = (s + t) / 2;//一分为二
- MSort(S, R, s, m);//递归左区
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。