- 思路
- 其实就是调用一次归并排序中的merge()函数
- c++ 中直接用vetor<int>存</int>
- 代码
#include <iostream>
#include <vector>
using namespace std;
vector<int> merge(const vector<int> &vec1, const vector<int> &vec2)
{
vector<int> vec3;
int i = 0;
int j = 0;
while(i < vec1.size() && j < vec1.size()){
if(vec1[i] <= vec2[j]){
vec3.push_back(vec1[i++]);
}
else{
vec3.push_back(vec2[j++]);
}
}
while(i < vec1.size()){
vec3.push_back(vec1[i++]);
}
while(j < vec2.size()){
vec3.push_back(vec2[j++]);
}
return vec3;
}
int main()
{
vector<int> vec1, vec2;
int temp;
while(cin >> temp){
vec1.push_back(temp);
if(getchar()=='\n')
break;
}
while(cin >> temp){
vec2.push_back(temp);
if(getchar() == '\n')
break;
}
vector<int> vec3(merge(vec1, vec2));
for(auto ele : vec3)
cout << ele << " ";
cout << endl;
return 0;
}