實驗11 2 5 鍊錶拼接 (20 分)

2021-10-19 04:09:42 字數 1004 閱讀 7937

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

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