• 思路
    • 其实就是调用一次归并排序中的merge()函数
    • c++ 中直接用vetor<int>存</int>
  • 代码
    • c++
#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;
}