雙向鍊錶在刪除節點時不需要找到要刪除節點的前乙個結點,這是比較好的,但是增刪都要同時處理前後兩個指標的問題,
package singlelinkedlist;
//實現雙鏈表的增刪改查功能
public
class
twolinkedlistdemo
}//定義節點
class
node
@override
public string tostring()
';}}
//建立雙向鍊錶
class
twolinkedlist
if(temp.next == null)
//設定變數來表示是否插入成功
if(temp.no == node.no)
if(temp.next.no > node.no)
temp = temp.next;}if
(flag)
else
}//遍歷鍊錶方法
public
void
list()
node cur = head.next;
while
(true
) system.out.
println
(cur)
; cur = cur.next;}}
//刪除節點
public
void
deletenode
(int no)
while
(true)if
(temp.no == no)
temp = temp.next;}if
(flag)
system.out.
println
("刪除成功");
}else
}}
雙向鍊錶的增刪改查
package com.mjw.linkedlist 1.遍歷 和單鏈表的思路一致 2.新增 先找到雙向鍊錶的最後 temp.next new heronode newheronode.pre temp 3.修改也是和單鏈表的思路一致 4.刪除 因為是雙向鍊錶,可以自我刪除,直接找到要刪除的結點,比...
雙向鍊錶的增刪改查
雙向鍊錶增刪改查 單向鍊錶查詢的方向只能是乙個方向,而雙向鍊錶可以向前或者向後查詢 單向鍊錶不能自我刪除,需要輔助節點,而雙向鍊錶可以自我刪除,public class doublelinkedlistdemo class doublelinkedlist 遍歷雙向鍊錶的方法,顯示鍊錶 遍歷 pub...
帶頭雙向迴圈鍊錶增刪操作
標頭檔案list.h存放函式宣告 ifndef list h define list h include include include typedef int ltdatatype typedef struct listnodelistnode typedef struct listlist 初始...