天天看點

2421 Problem C 最快合并連結清單(線性表)

問題 C: 最快合并連結清單(線性表)

時間限制: 1 Sec 記憶體限制: 128 MB

獻花: 16 解決: 16

[獻花][花圈][TK題庫]

題目描述

知L1、L2分别為兩循環單連結清單的頭結點指針,m,n分别為L1、L2表中資料結點個數。要求設計一算法,用最快速度将兩表合并成一個帶頭結點的循環單連結清單。

輸入

m=5

3 6 1 3 5

n=4.

7 10 8 4

輸出

3 6 1 3 5 7 10 8 4

樣例輸入

7

3 5 1 3 4 6 0

5

5 4 8 9 5

樣例輸出

3 5 1 3 4 6 0 5 4 8 9 5

#define _CRT_SECURE_NO_WARNINGS
#include <unordered_map>
#include <algorithm>
#include <iostream>
#include <cstring>
#include <string>
#include <vector>
#include <stack>
#include <queue>
#include <map>

using namespace std;
const int MaxN = ;
int Data[MaxN];

int main()
{
#ifdef _DEBUG
    freopen("data.txt", "r+", stdin);
#endif // _DEBUG


    int N, M,sum;
    while (EOF != scanf("%d", &N))
    {
        for (int i = ; i < N; ++i)
            scanf("%d", &Data[i]);

        scanf("%d", &M);
        sum = M + N;
        for (int i = N; i < sum; ++i)
            scanf("%d", &Data[i]);


        for (int i = ; i < sum; ++i)
        {
            printf("%d", Data[i]);
            if (i != sum - )
                printf(" ");
        }

        printf("\n");
    }

    return ;
}
/**************************************************************
    Problem: 2421
    User: Sharwen
    Language: C++
    Result: 升仙
    Time:0 ms
    Memory:5612 kb
****************************************************************/