合併兩個有序鍊錶後組成乙個更大乙個有序鍊錶

2021-09-02 04:14:32 字數 829 閱讀 8796

題目描述:輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。

(hint: 請務必使用鍊錶。)

輸入:輸入可能包含多個測試樣例,輸入以eof結束。

對於每個測試案例,輸入的第一行為兩個整數n和m(0<=n<=1000, 0<=m<=1000):n代表將要輸入的第乙個鍊錶的元素的個數,m代表將要輸入的第二個鍊錶的元素的個數。

下面一行包括n個數t(1<=t<=1000000):代表鍊錶一中的元素。接下來一行包含m個元素,s(1<=t<=1000000)。

輸出:對應每個測試案例,

若有結果,輸出相應的鍊錶。否則,輸出null。

樣例輸入:

5 2

1 3 5 7 9

2 40 0

樣例輸出:

1 2 3 4 5 7 9

null

#include#includestruct listnode

;listnode* merge(listnode* phead1,listnode* phead2)

else

return pmergehead;

} listnode* createlist(int number)

return phead;

}int main()

} return 0;

}

結果:

兩個有序鍊錶合併成乙個有序鍊錶

private static node mergetwolists node list1,node list2 if list2 null 定義了兩個引用,用來遍歷鍊錶 node cur1 list1 node cur2 list2 新鍊錶的頭結點和尾結點 空鍊錶,所以都是 null node nh...

合併兩個有序鍊錶,合併後依然有序

合併兩個有序鍊錶,合併後依舊有序 當第乙個鍊錶是空鍊錶就把它和第二個鍊錶合併,結果是第二個鍊錶 同樣,第二個鍊錶是空表,合 並結果是第乙個鍊錶 如果兩都是空鍊錶,合併結果也是空鍊錶 比較兩個鍊錶的頭結點,小的作為合併後的頭結點,在剩餘節點中,再次比較兩個鍊錶的頭結點 node mergelist n...

合併兩個有序鍊錶,合併後依然有序

合併兩個有序鍊錶合併之後還是有序的,首先這兩個鍊錶是需要是有序的,也就是說這兩個鍊錶已經排好序了,才能進行合併。但是昨天也寫過氣泡排序的程式了,如果讓你合併兩個不是有序的鍊錶合併之後有序,那可以先將兩個鍊錶進行氣泡排序再進行合併就可以了。首先明確思路,合併兩個鍊錶有兩種方式,第一種就是建立乙個新的鍊...