本題要求實現乙個合併兩個有序鍊錶的簡單函式。鍊錶結點定義如下:
struct listnode
;函式介面定義:
struct listnode *
mergelists
(struct listnode *list1,
struct listnode *list2)
;其中list1和list2是使用者傳入的兩個按data公升序鏈結的鍊錶的頭指標;函式mergelists將兩個鍊錶合併成乙個按data公升序鏈結的鍊錶,並返回結果鍊錶的頭指標。
裁判測試程式樣例:
#include
#include
struct listnode
;struct listnode *
createlist()
;/*裁判實現,細節不表*/
struct listnode *
mergelists
(struct listnode *list1,
struct listnode *list2)
;void
printlist
(struct listnode *head )
printf
("\n");
}int
main()
/* 你的**將被嵌在這裡 */
struct listnode *
mergelists
(struct listnode *list1,
struct listnode *list2)
else
while(1
)//交替拼接
//已遍歷完pnew所指的全部節點,將px所指鍊錶接到pnew所指鍊錶後
if(pnew -> next ==
null
)/// pnew->next->data > px->next ,交換指標
else
}}
實驗11 2 5 鍊錶拼接 (20 分)
實驗11 2 5 鍊錶拼接 20 分 本題要求實現乙個合併兩個有序鍊錶的簡單函式。鍊錶結點定義如下 struct listnode 函式介面定義 struct listnode mergelists struct listnode list1,struct listnode list2 其中list...
實驗11 2 5 鍊錶拼接 20分
本題要求實現乙個合併兩個有序鍊錶的簡單函式。鍊錶結點定義如下 struct listnode 函式介面定義 struct listnode mergelists struct listnode list1,struct listnode list2 其中list1和list2是使用者傳入的兩個按da...
實驗11 2 5 鍊錶拼接 20 分
本題要求實現乙個合併兩個有序鍊錶的簡單函式。鍊錶結點定義如下 struct listnode 函式介面定義 struct listnode mergelists struct listnode list1,struct listnode list2 其中list1和list2是使用者傳入的兩個按da...