/** * 新增節點到最後的方法
*/public
void
add(heronode heronode)
//如果沒有找到最後,將temp後移
temp= temp.next;
}//退出white迴圈時,temp就指向了鍊錶的最後
temp.next = heronode;
heronode.pre = temp;
}/**
* 修改雙向鍊錶的方法
*/public
void
update
(heronode newheronode)
//找到需要修改的節點
//定義乙個輔助變數
heronode temp = head.next;
boolean flag =
false
;//表示是否找到該節點
while
(true)if
(temp.no==newheronode.no)
temp = temp.next;
}//根據flag判斷是否找到要修改的節點
if(flag)
else
}/**
* 刪除節點
*/public
void
delete
(int no)
heronode temp = head.next;
boolean flag =
false
;while
(true)if
(temp.no==no)
temp = temp.next;
}//判斷falg
if(flag)
}else
}/**
* 遍歷雙向鍊錶的方法
*/public
void
list()
//因為頭節點不能動,因襲需要乙個輔助變數來遍歷
heronode temp = head.next;
while
(true
)//輸出節點的資訊
system.out.
println
(temp)
;//將temp後移
temp = temp.next;}}
}//建立乙個雙向鍊錶的類
資料結構四雙向鍊錶
雙向鍊錶也叫雙鏈表,是鍊錶的一種,它的每個資料結點中都有兩個指標,分別指向直接後繼和直接前驅。所以,從雙向鍊錶中的任意乙個結點開始,都可以很方便地訪問它的前驅結點和後繼結點。而之前的單鏈表為單向鍊錶,雙向鍊錶也就是在單鏈表的結點中增加乙個指向其前驅的pre指標。如圖 這裡介紹雙向鍊錶的常用操作 l ...
資料結構 003雙向鍊錶
雙鏈表 include using namespace std typedef int elemtype typedef struct lnode lnode,linklist 初始化 linklist init linklist 頭插法建立鍊錶 linklist head insert linkl...
資料結構基礎 1 雙向鍊錶
linklist.h ifndef link list h define link list h 1 include include include struct stu struct stu initlist struct stu head void destroylist struct stu ...