java實現將兩個有序鍊錶合成乙個新的有序鍊錶

2021-09-01 04:22:49 字數 1515 閱讀 1735

鍊錶節點結構及方法:

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