首頁技術(shù)文章正文

雙向鏈表是什么?【java培訓】

更新時間:2020-10-13 來源:黑馬程序員 瀏覽量:

雙向鏈表圖



雙向鏈表中雙向的意思是說前后節(jié)點之間互相有引用,鏈表的節(jié)點我們稱為 Node。Node 有三個屬性組成:其前一個節(jié)點,本身節(jié)點的值,其下一個節(jié)點,假設 A、B 節(jié)點相鄰,A 節(jié)點的下一個節(jié)點就是 B,B 節(jié)點的上一個節(jié)點就是 A,兩者互相引用,在鏈表的頭部節(jié)點,我們稱為頭節(jié)點。頭節(jié)點的前一個節(jié)點是 null,尾部稱為尾節(jié)點,尾節(jié)點的后一個節(jié)點是 null,如果鏈表數(shù)據(jù)為空的話,頭尾節(jié)點是同一個節(jié)點,本身是 null,指向前后節(jié)點的值也是 null。

雙向鏈表如何實現(xiàn)新增和刪除節(jié)點?

新增:我們可以選擇從鏈表頭新增,也可以選擇從鏈表尾新增,如果是從鏈表尾新增的話,直接把當前節(jié)點追加到尾節(jié)點之后,本身節(jié)點自動變?yōu)槲补?jié)點。

刪除:把刪除節(jié)點的后一個節(jié)點的 prev 指向其前一個節(jié)點,把刪除節(jié)點的前一個節(jié)點的 next 指向其后一個節(jié)點,最后把刪除的節(jié)點置為 null 即可。

猜你喜歡:

LinkedList和ArrayList對比各有什么優(yōu)勢?

傳智播客java培訓課程


分享到:
在線咨詢 我要報名
和我們在線交談!