zoukankan      html  css  js  c++  java
  • 7-51 两个有序链表序列的合并 (20分)

    7-51 两个有序链表序列的合并 (20分)

    已知两个非降序链表序列S1与S2,设计函数构造出S1与S2合并后的新的非降序链表S3。

    输入格式:

    输入分两行,分别在每行给出由若干个正整数构成的非降序序列,用−1表示序列的结尾(−1不属于这个序列)。数字用空格间隔。

    输出格式:

    在一行中输出合并后新的非降序链表,数字间用空格分开,结尾不能有多余空格;若新链表为空,输出NULL

    输入样例:

    1 3 5 -1
    2 4 6 8 10 -1
    

    输出样例:

    1 2 3 4 5 6 8 10
    

    这题依旧使用map来模拟链表合并

    #include <iostream>
    #include <map>
    using namespace std;
    map<int, int> m;
    int main() {
        int num, flag = 1;
        while(1) {
            scanf("%d", &num);
            if(num == -1) break;
            m[num]++;
        }
        while(1) {
            scanf("%d", &num);
            if(num == -1) break;
            m[num]++;
        }
        for(auto& x: m) {
            while(x.second--) {
                if(flag) {
                    flag = 0;
                    printf("%d", x.first);
                } else printf(" %d", x.first);
            }
        }
        if(flag) printf("NULL");
        return 0;
    }
    
  • 相关阅读:
    Android
    Android
    Android
    JAVA动态代理基础
    TCP连接与OKHTTP复用连接池
    Android
    Android
    GitHub上README.md教程
    android
    HDU 1097 A hard puzzle
  • 原文地址:https://www.cnblogs.com/littlepage/p/13125205.html
Copyright © 2011-2022 走看看