雙向鍊錶的增刪

2021-10-23 16:05:43 字數 965 閱讀 2972

雙向鍊錶在刪除節點時不需要找到要刪除節點的前乙個結點,這是比較好的,但是增刪都要同時處理前後兩個指標的問題,

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 初始...