實驗11 2 5 鍊錶拼接 20分

2021-10-09 08:01:38 字數 1141 閱讀 7775

本題要求實現乙個合併兩個有序鍊錶的簡單函式。鍊錶結點定義如下:

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...