Problem Description
建立两个int类型的向量,利用merge算法将其合并,再用sort算法对合并后的向量排序。
函数mergeVector把向量v1、v2合并到向量v3中。
函数sortVector把向量v中元素排序。
函数printVector把向量v中元素输出。
MyPrint是函数对象结构体。
//你的代码将嵌在这里
void input(int* p, int n)
{
for (size_t i = 0; i < n; i++)
{
cin >> p[i];
}
}
int main()
{
int n=0,m=0;
cin >> n>>m;
int* pa=new int[n];
int* pb=new int[m];
input(pa, n);
input(pb, m);
vector<int> v1(pa, pa + n), v2(pb, pb + m), v3;
v3.resize(v1.size()+v2.size());
sortVector(v1);
sortVector(v2);
mergeVector(v1, v2, v3);
printVector(v3, myPrint);
cout << endl;
delete[] pa; delete[] pb;
return 0;
}
Input Description
第1行是2个数组元素的个数
第2行是第一个数组各元素的值
第3行是第二个数组各元素的值
Output Description
第一个数组各元素与第二个数组各元素合并后,第三个数组各元素的值
Sample Input
4 5
1 3 2 5
8 1 4 7 6
Sample Output
1 1 2 3 4 5 6 7 8
#include <iostream>
using namespace std;
#include <vector>//向量容器vector头文件
#include<algorithm>//C++的标准算法库
struct MyPrint
{
vector<int> p;//创建结构体MyPrint vector<int>类型成员p 对象myPrint
}myPrint;
void sortVector(vector<int>