更新時間: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)勢?