鍊錶節點結構及方法:
public
class
node
node
(integer number)
public node getnext()
public
void
setnext
(node next)
public integer getnumber()
public
void
setnumber
(integer number)
}
使用陣列構建鍊錶:
public
static
void
getlink
(int[
] arr, node node)
}
合併鍊錶演算法:
/**
* @param link1 第乙個有序鍊錶的頭節點
* @param link2 第二個有序鍊錶的頭節點
* @param link3 合併成的新的有序鍊錶的頭節點
*/public
static
void
mergelink
(node link1, node link2, node link3)
elseif(
(link1.
getnumber()
!=null)&&
(link2.
getnumber()
==null
|| link2.
getnumber()
> link1.
getnumber()
))else
}
遍歷鍊錶並輸出:
public
static
void
viewlink
(node link)
}
主方法呼叫:
public
static
void
main
(string[
] args)
; int[
] arr2 =
;//建立三個鍊錶的頭節點
node link1 =
newnode()
; node link2 =
newnode()
; node link3 =
newnode()
;//給兩個鍊錶賦初始資料
getlink
(arr1,link1)
;getlink
(arr2,link2)
;//合併鍊錶
mergelink
(link1, link2, link3)
;//遍歷新鍊錶輸出
viewlink
(link3)
;}
C 實現 將兩個有序鍊錶並為乙個有序鍊錶
using system using system.collections.generic using system.text static void mergelist linkedlistls1,linkedlistls2,ref linkedlistls3 else ls3.addfirst ...
21 合併兩個有序鍊錶 直接判斷合成
題目 將兩個公升序鍊錶合併為乙個新的公升序鍊錶並返回。新煉表是通過拼接給定的兩個鍊錶的所有節點組成的。示例 輸入 1 2 4,1 3 4 輸出 1 1 2 3 4 4 解答 在while迴圈內直接對l1和l2的值比較大小,先新增小的。之後哪個鍊錶不為空,直接加在後邊就行,注意此時應該用if判斷一次即...
鍊錶 合併兩個有序鍊錶
標籤 鍊錶 題目描述 輸入兩個單調遞增的鍊錶,輸出兩個鍊錶合成後的鍊錶,當然我們需要合成後的鍊錶滿足單調不減規則。解題思路 兩種解法 遞迴和非遞迴 拓展 參考 public listnode merge listnode list1,listnode list2 else 非遞迴 public li...