順序合併兩個非有序的鍊錶

2021-10-06 06:58:27 字數 1137 閱讀 9769

給定由整數組成的兩個無序陣列,根據順序合併成乙個陣列。

輸入包括兩行,每行由若干個由->分隔的整數組成,分別表示以最左整數為煉表頭,單向指向右側節點的鍊錶,每行輸入均以 .結尾。

輸出為合併後的單向鍊錶,由->表示其間的指標,最終指向由null表示的空值。

在合併過程中,比較兩個鍊錶當前待合併的第乙個元素,選擇其中較小的那個元素放入合併後的陣列。

輸入格式

輸入兩行字串,每行字串由 有符號整數、->和.組成。

輸出格式

輸出一行字串,表示合併後的陣列。

樣例1輸入

1->2->3.

1->0->2.

樣例1輸出

1->1->0->2->2->3->null

樣例2輸入

2->3->4->5.

-20->3->4.

樣例2輸出

-20->2->3->3->4->4->5->null

**:

#include

#include

#include

#include

using

namespace std;

int main (

)

s2 =

strtok

(str2, s)

;//將str2分割儲存到陣列b中

while

( s2 !=

null

)int n=

0,m=0;

while

(n < i && m < j)

while

(n < i)

cout<< a[n++

]<<

"->"

;while

(m < j)

cout << b[m++

]<<

"->"

; cout <<

"null"

;return0;

}

開始沒有考慮負數,導致測試用例不能通過,這裡負數問題的解決也很巧妙,分隔符只用』>』,輸入的負數也能分割!

順序合併兩個非有序的鍊錶 C語言寫法

題目要求 給定由整數組成的兩個無序陣列,根據順序合併成乙個陣列。輸入要求 輸入包括兩行,每行由若干個由 分隔的整數組成,分別表示以最左整數為煉表頭,單向指向右側節點的鍊錶,每行輸入均以 結尾。輸出要求 輸出為合併後的單向鍊錶,由 表示其間的指標,最終指向由null表示的空值。在合併過程中,比較兩個鍊...

順序合併兩個非有序的鍊錶(C 且不用鍊錶實現)

給定由整數組成的兩個無序陣列,根據順序合併成乙個陣列。輸入包括兩行,每行由若干個由 分隔的整數組成,分別表示以最左整數為煉表頭,單向指向右側節點的鍊錶,每行輸入均以 結尾。輸出為合併後的單向鍊錶,由 表示其間的指標,最終指向由null表示的空值。在合併過程中,比較兩個鍊錶當前待合併的第乙個元素,選擇...

合併兩個有序表 順序表

問題描述 編制乙個能演示將兩個有序表合併為乙個有序表的程式。基本要求 已知遞增有序線性表la和lb,現將la和lb合併到lc,lc也是遞增有序的。測試資料 la 3,5,8,11 lb 2,6,8,9,11,15,20 合併後的lc 2,3,5,6,8,9,11,15,20 includeconst...