题目描述
输入两个升序排列的序列,将两个序列合并为一个有序序列并输出。
输入描述:
输入包含三行,

第一行包含两个正整数n, m(1 ≤ n,m ≤ 100),用空格分隔。n表示第二行第一个升序序列中数字的个数,m表示第三行第二个升序序列中数字的个数。

第二行包含n个整数(范围1~5000),用空格分隔。

第三行包含m个整数(范围1~5000),用空格分隔。
输出描述:
输出为一行,输出长度为n+m的升序序列,即长度为n的升序序列和长度为m的升序序列中的元素重新进行升序序列排列合并。

解题思路
利用sort进行排序。

代码

#include<iostream>
#include<algorithm>//包含算法的头文件。sort在algorithm头文件里面

using namespace std;

int main()
{
    int m,n;
    cin>>m>>n;
    int a[m+n+1];//防止越界,定义数组大一点
    for(int i=0;i<m+n;++i)
        cin>>a[i];//合并为一个数组
    sort(a,a+m+n);//利用sort进行排序
    for(int j=0;j<m+n;++j)
        cout<<a[j]<<" ";
    return 0;
}