问题标题: 酷町堂:5058

0
0
已解决
胡景波
胡景波
中级光能
中级光能

5058   合并两个有序链表经验值:0

题目描述 Description

将两个升序链表合并为一个新的升序链表。新链表是通过拼接给定的两个链表的所有节点组成的。

输入描述 Input Description

第一行输入整数m和n,数字之间用空格隔开;
第二行输入m个升序的整数,数字之间用空格隔开
第三行输入n个升序的整数,数字之间用空格隔开

输出描述 Output Description

输出一行两个链表链接在一起的升序排列,数字之间用空格隔开

样例输入 Sample Input

3 3 1 2 4 1 3 4

样例输出 Sample Output

1 1 2 3 4 4


0
已采纳
陈正朔
陈正朔
初级光能
初级光能

直接输入两个数组,之后将这两个数组合并到c数组里,然后对c数组sort一遍,最后输出c数组即可(注意c数组要定义大一点)

合并的实现

for(int i=1;i<=m;i++){
        cin>>a;  //不需要用数组也行
        c[i]=a;
    } 
    for(int i=1;i<=n;i++){
        cin>>b;
        c[i+m]=b;
    }

 

 

0
郑泓毅
郑泓毅
资深守护
资深守护
    int n,m;
    int c[25000000];
    cin>>n>>m;
    for(int i=1;i<=n+m;i++)
        cin>>c[i];
    sort(c+1,c+1+n+m);
    for(int i=1;i<=n+m;i++)
        cout<<c[i]<<" ";

 

我要回答