本題要求實現乙個合併兩個有序鍊錶的簡單函式。鍊錶結點定義如下:
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()
/* 你的**將被嵌在這裡 */
輸入樣例:
1 3 5 7 -1
2 4 6 -1
輸出樣例:
1 2 3 4 5 6 7
struct listnode *
mergelists
(struct listnode *list1,
struct listnode *list2)
else
p->next=
null;if
(head==
null
) head=tail=p;
else}if
(list1) tail->next=list1;
else tail->next=list2;
while
(tail->next!=
null
) tail=tail->next;
return head;
}
實驗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...