输入分四部分:
第一行是正整数m;
第二行是m个用空格隔开的整数数列;
第三行是正整数n;
第四行是n个用空格隔开的整数数列。
0<m, n<=100
定义快排函数,将两个数列分别进行排序;
重点:定义二路归并函数,将两个已有的有序数列合并成一个升序序列。就比如有两个从低到高排好的队伍,要合并成一个,我们会怎么办?
此题为附加代码题,请根据下面代码续写,按照提示信息提交相关代码即可。
#include<iostream>
using namespace std;
const int MAXSIZE = 201;
void quicksort(int arr[], int left, int right);
void printArray(int arr[], int len);//输出长度为len的数组arr的每个元素
void mergeArray(int a[], int m, int b[], int n, int c[]);//将长度为m的数组a、长度为n的数组b合并到数组c中
int main(){
int a[MAXSIZE] = {0}, b[MAXSIZE] = {0}, c[MAXSIZE] = {0};
int m, n;
cin >> m;
for(int i= 1; i <= m; i++){
cin >> a[i];
}
cin >> n;
for(int i= 1; i <= n; i++){
cin >> b[i];
}
quicksort(a, 1, m);
printArray(a, m);
quicksort(b, 1, n);
printArray(b, n);
mergeArray(a, m, b, n, c);
printArray(c, m+n);
}
//************提交此行以下的代码************************
此处补充3个自定义函数的实现代码
//************提交此行以上的代码************************
输入分四部分:
第一行是正整数m;
第二行是m个用空格隔开的整数数列;
第三行是正整数n;
第四行是n个用空格隔开的整数数列。
0<m, n<=100
输出按样例