7 51 兩個有序鍊錶序列的合併 20分

2021-10-03 14:34:12 字數 597 閱讀 9357

已知兩個非降序鍊錶序列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
#include int a[1000000], b[1000000]; // 資料規模真的到達了100萬級別

int main()

while (scanf("%d", &b[nb]))

bool first = true;

while (i < na && j < nb) else

}while (i < na)

while (j < nb)

if (first)

printf("null");

return 0;

}

pta 7 51 合併兩個有序鍊錶

本題屬於一道水題,但有幾個地方地思想還是值得好好體會,一是在合併時採用帶頭結點的鍊錶避免討論新鍊錶的頭的指向問題,二是相對於網上其他的題解來說,本題解更加簡潔。歡迎各位交流學習。include include typedef struct list node,list list read void ...

PTA 7 51 兩個有序鍊錶序列的合併 C語言

輸入分兩行,分別在每行給出由若干個正整數構成的非降序序列,用 1表示序列的結尾 1不屬於這個序列 數字用空格間隔。在一行中輸出合併後新的非降序鍊錶,數字間用空格分開,結尾不能有多餘空格 若新鍊錶為空,輸出null。1 3 5 1 2 4 6 8 10 11 2 3 4 5 6 8 10 如下 inc...

合併兩個有序鍊錶序列

本題要求實現乙個函式,將兩個鍊錶表示的遞增整數序列合併為乙個非遞減的整數序列。list merge list l1,list l2 其中list結構定義如下 typedef struct node ptrtonode struct node typedef ptrtonode list 定義單鏈表型...