兩個有序鍊錶合併成乙個有序鍊錶

2021-09-29 22:01:02 字數 604 閱讀 3230

private static node mergetwolists(node list1, node list2) 

if (list2 == null)

// 定義了兩個引用,用來遍歷鍊錶

node cur1 = list1;

node cur2 = list2;

// 新鍊錶的頭結點和尾結點

// 空鍊錶,所以都是 null

node nhead = null;

node nlast = null;

while (cur1 != null && cur2 != null) else

nlast = cur1; // 更新新鍊錶的尾結點是新插入的結點

// 把 cur1 尾插到新鍊錶 結束

cur1 = cur1.next; // 讓 cur1 後移一步

} else else

nlast = cur2;

cur2 = cur2.next;}}

// 有乙個鍊錶為空了

if (cur1 != null) else

return nhead;

}

將兩個有序鍊錶合併成乙個有序鍊錶

c codes as below class link public static link mergesortedlink link firstlink,link secondlink while currentnode2.next null else if currentnode1 null r...

將兩個有序鍊錶合併成乙個有序鍊錶

題目 給定兩個有序的鍊錶,編寫乙個函式來合併這兩個鍊錶,並且返回乙個新的有序的鍊錶 分析 這兩個鍊錶已經有序,所以,只需要對著兩個鍊錶的元素依次進行比較即可,這是對兩個鍊錶操作的基本問題。include stdafx.h include using namespace std struct list...

如何將兩個有序鍊錶合併成乙個有序鍊錶。

有兩個帶頭節點的有序鍊錶,如何把他們合成乙個有序鍊錶?假設鍊錶帶頭節點 我們通過取出其中一條鍊錶的頭節點作為合成後的有序鍊錶的頭節點 當然,這裡也可以自己重新生成乙個節點來作為頭節點,但是使用原先的可以節省開銷 取出後,這既是新鍊錶的head,也是它的tail,因為新鏈表現在只有這麼乙個節點,我們用...