雙向鍊錶與單向鍊錶的不同在於,容易出現空指標異常
在新增時:
heronode.pre = temp;
if(temp.next!=null)
temp.next = heronode;
如果剛好是最後乙個裡面新增,需要 temp.next!=null的限制
在刪除時,
有兩種情況:
//刪除的不是最後乙個節點則
if(temp.next!=null)
else
class
heronode
//重寫tostring
public string tostring()
class
doublelinkedlist
public
void
add(heronode heronode)
if(temp.next.no>heronode.no)
if(temp.next.no == heronode.no)
temp = temp.next;
}//新增
if(flag)
else
temp.next = heronode;
}}
//修改
public
void
update
(heronode heronode)
heronode temp = head.next;
boolean flag =
false
;while
(true)if
(heronode.no == temp.no)
temp = temp.next;}if
(flag)
else
}
public
void
delete
(int no)
heronode temp = head.next;
boolean flag =
false
;while
(true)if
(temp.no == no)
temp = temp.next;}if
(flag)
else
system.out.
println
("刪除成功");
}else
}
public
void
list()
heronode temp = head.next;
while
(true
) system.out.
println
(temp)
; temp = temp.next;
}}
package linkedlist;
public
class
doublelinklist
}class
doublelinkedlist
public
void
list()
heronode temp = head.next;
while
(true
) system.out.
println
(temp)
; temp = temp.next;}}
public
void
add(heronode heronode)
if(temp.next.no>heronode.no)
if(temp.next.no == heronode.no)
temp = temp.next;
}//新增
if(flag)
else
temp.next = heronode;}}
//修改
public
void
update
(heronode heronode)
heronode temp = head.next;
boolean flag =
false
;while
(true)if
(heronode.no == temp.no)
temp = temp.next;}if
(flag)
else
}public
void
delete
(int no)
heronode temp = head.next;
boolean flag =
false
;while
(true)if
(temp.no == no)
temp = temp.next;}if
(flag)
else
system.out.
println
("刪除成功");
}else}}
class
heronode
//重寫tostring
public string tostring()
}
雙向鍊錶的增刪改查
package com.mjw.linkedlist 1.遍歷 和單鏈表的思路一致 2.新增 先找到雙向鍊錶的最後 temp.next new heronode newheronode.pre temp 3.修改也是和單鏈表的思路一致 4.刪除 因為是雙向鍊錶,可以自我刪除,直接找到要刪除的結點,比...
雙向鍊錶的增刪改查
雙向鍊錶增刪改查 單向鍊錶查詢的方向只能是乙個方向,而雙向鍊錶可以向前或者向後查詢 單向鍊錶不能自我刪除,需要輔助節點,而雙向鍊錶可以自我刪除,public class doublelinkedlistdemo class doublelinkedlist 遍歷雙向鍊錶的方法,顯示鍊錶 遍歷 pub...
雙向鍊錶的增刪改查操作
阿濤,你要認真對待每一件事,你要瀟灑,你要做自己!前面複習了單向鍊錶和迴圈鍊錶的操作,寫得比較亂,現在寫個比較規整的雙向鍊錶的的各項操作。先上個截圖 全部 如下 include include define len sizeof struct doublelinklist typedef struc...