## //創造節點,比較與單向的不同
public
class
heronode
@override
public string tostring()
';}}
public class doublelinkedlist
// if (temp.next.num==node.num) 這裡需要試探下乙個節點,來確定目標節點的前乙個
//
// temp=temp.next;
// }
//// }
public void delete
(heronode node)
//第二種刪除方法,得益於雙向特性
else}if
(temp.num==node.num)
else}}
public void update
(heronode node)
//完全等同於單向鍊錶
if(temp.next.num == node.num)
temp=temp.next;}}
public void addbynumber
(heronode someone)
//僅需加上pre的指向
if(temp.next.num>someone.num)
else
if(temp.next.num==someone.num)
else}}
public void showing()
system.out.
println
(temp);}
public void reshowing()
while
(temp.pre!=
null)}
}
plus:單向鍊錶 : 單向鍊錶**實現
雙單區別
1.單向鍊錶 具有試探性(即每次都是定位到目標節點位置的前乙個,然後實現刪除或新增)
2.雙向鍊錶 更為直接 只需直接定位到目標節點,然後利用pre找到前乙個,next找到後乙個,但是需要建立更多的聯絡
單向鍊錶和雙向鍊錶區別 雙向鍊錶
一開始確實被這個雙向鍊錶整暈了,node裡面不停套node,簡直無限套娃,讓人不知道該怎麼下手。後來看了資料結構與演算法分析這本書的 才算整明白。我把鍊錶分成了三個部分 第一部分是node.node是乙個由兩根指標,以及我們需要儲存的資料構成的結構體。這個node就是無限套娃的起源,也是鍊錶用於儲存...
單向鍊錶he雙向鍊錶
鍊錶 linked list 是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,而是在每乙個節點裡存到下乙個節點的指標 pointer 在電腦科學中,鍊錶作為一種基礎的資料結構可以用來生成其它型別的資料結構。鍊錶通常由一連串節點組成,每個節點包含任意的例項資料 data fie...
單向鍊錶和雙向鍊錶
1.單向鍊錶 單向鍊錶只可向乙個方向遍歷。查詢乙個節點的時候需要從第乙個節點開始每次訪問下乙個節點,一直訪問到需要的位置。也可以提前把乙個節點的位置另外儲存起來,然後直接訪問。2.雙向鍊錶 可以從任何乙個節點訪問前乙個節點,也可以訪問後乙個節點,以至整個鍊錶。一般是在需要大批量的另外儲存資料在鍊錶中...