問題 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
****************************************************************/