資料結構學習(三) 雙向鍊錶

2021-10-04 06:35:37 字數 1467 閱讀 2674

class

heronode2

@override

public string tostring()

';}}

public

void

add(heronode2 heronode)

temp = temp.next;

}//退出while時候,temp就指向了鍊錶的最後,指向新的node

temp.next = heronode;

heronode.pre = temp;

}

//遍歷

public

void

list()

//頭節點不能動,所以要乙個輔助變數來遍歷

heronode2 temp = head.next;

while

(true

) system.out.

println

(temp)

; temp = temp.next;

}}

//修改節點資訊,根據編號來改正,但編號不能改正

//雙向鍊錶修改和單鏈表一樣

public

void

update

(heronode2 newheronode)

//定義乙個輔助變數

heronode2 temp = head.next;

//是否找到要修改的變數

boolean flag =

false

;while

(true)if

(temp.no == newheronode.no)

temp = temp.next;

}//根據flag判斷是否找到要修改的node

if(flag)

else

}

//刪除節點

//對於雙向鍊錶,可以直接找到要刪除的節點,自我刪除即可

public

void

del(

int no)

//輔助變數

heronode2 temp = head.next;

//標識是否找到節點

boolean flag =

false

;while

(true

)//找到待刪除節點的前乙個節點temp

if(temp.no == no)

temp = temp.next;}if

(flag)

}else

}

public

static

void

main

(string[

] args)

資料結構學習筆記二 雙向鍊錶

雙向鍊錶 雙鏈表 是鍊錶的一種。和單鏈表一樣,雙鏈表也是由節點組成,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。一般我們都構造雙向迴圈鍊錶。表頭為空,表頭的後繼節點為 節點10 資料為10的節點 節點10...

資料結構四雙向鍊錶

雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。而之前的單鏈表為單向鍊錶,雙向鍊錶也就是在單鏈表的結點中增加乙個指向其前驅的pre指標。如圖 這裡介紹雙向鍊錶的常用操作 l ...

資料結構 003雙向鍊錶

雙鏈表 include using namespace std typedef int elemtype typedef struct lnode lnode,linklist 初始化 linklist init linklist 頭插法建立鍊錶 linklist head insert linkl...