雙向鍊錶之java實現

2021-09-25 04:01:18 字數 1139 閱讀 2621

public class doublelinkedlist

public string tostring()

} private node head = new node(null); // 頭節點

private int size; // 鍊錶大小

// 以下是介面方法

public boolean addfirst(object o)

public boolean addlast(object o)

public boolean add(object o)

public boolean add(int index, object o)

public boolean remove(int index)

public boolean removefirst()

public boolean removelast()

public object get(int index)

public int size()

public string tostring()

return s.tostring();

} //以下是實現方法

private node getnode(int index)

private void addbefore(node newnode, node node)

private void addafter(node newnode, node node)

private void removenode(node node) }

//有些地方還可以優化,比如查詢時可以判斷索引是否大於size的一半,如果是的話,就從另一頭開始迭代。

//可以用這個類測試一下:

public class test

}

輸出:

[張曼玉, 鍾楚紅, 劉嘉玲]

[林青霞, 張曼玉, 鍾楚紅, 劉嘉玲]

[林青霞, 張曼玉, 鍾楚紅, 劉嘉玲, 梅艷芳]

[林青霞, 張曼玉, 鍾楚紅, 劉嘉玲, 王祖賢, 梅艷芳]

[張曼玉, 鍾楚紅, 劉嘉玲, 王祖賢, 梅艷芳]

[張曼玉, 鍾楚紅, 劉嘉玲, 王祖賢]

[張曼玉, 鍾楚紅, 王祖賢]

鍾楚紅

鍊錶 java實現雙向鍊錶

前面已經總結了單向鍊錶,有興趣的兄弟可以進我部落格看一下。大家對比就可以看出,實現同樣的功能單向鍊錶要比雙向鍊錶痛苦的多。所以呀不斷地總結前輩留下的東西,是社會進步的基礎呀。可以直接看linkedlist的原始碼,其就是個雙向鍊錶。一 雙向鍊錶的結構。1 首先節點的結構,其中包含本節點內容,同時需要...

java實現雙向鍊錶

實現類,只實現了幾個比較簡單的功能 package 鍊錶.雙向鍊錶 program 資料結構 description 雙向鍊錶的實現 author zhongyusen create 2019 05 31 21 45 public class mylinklist public void add o...

雙向迴圈鍊錶 java實現

雙向迴圈煉表示意圖 雙向迴圈鍊錶實現 public class doublelink private int size 鍊錶長度 public nodehead 頭節點 constructor public doublelink 獲取鍊錶的長度 return public int size 判斷鍊錶...