雙向鍊錶之於單向 plus 區別

2021-10-23 08:59:51 字數 1147 閱讀 1509

## //創造節點,比較與單向的不同

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.雙向鍊錶 可以從任何乙個節點訪問前乙個節點,也可以訪問後乙個節點,以至整個鍊錶。一般是在需要大批量的另外儲存資料在鍊錶中...