6 25 鍊錶拼接 20 分

2021-09-29 13:59:23 字數 1220 閱讀 8063

原題鏈結

題目的大意是給定兩個公升序單鏈表,合併成要給鍊錶,合併後仍然公升序,題目要求實現的是mergelist()函式。

資料結構中講歸併排序的鍊錶實現時,其中的乙個步驟就是合併鍊錶。

#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

c=c->next;}if

(list1) c->next=list1;

else c->next = list2;

// head 是臨時新增的頭節點,head.next 才是真正的第乙個節點

return head.next;

}struct listnode *

createlist()

return head.next;

}

如果沒有使用頭節點,實現方式是下面這樣

struct listnode *

mergelists2

(struct listnode *list1,

struct listnode *list2)

else

else if(list2->data < list1->data)

c = ph;

while

(list1 && list2)

else

c=c->next;}if

(list1) c->next=list1;

else c->next = list2;

return ph;

}

6 4 鍊錶拼接 20分

正確作答出這個程式前,發現測試點老是段錯誤或者執行超時,心態 然後準備csdn上面copy一手,誰都不愛。結果發現自己能力有限,沒法短時間消化其他大佬的 於是搞出了自認為較為通俗易懂的 當然,本篇的通過 或許有進步空間,還請各位讀者不吝賜教 本題要求實現乙個合併兩個有序鍊錶的簡單函式。鍊錶結點定義如...

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