資料結構之雙向鍊錶(增刪改查)

2021-10-16 04:58:15 字數 1575 閱讀 5119

package com.ws.鍊錶.雙向鍊錶.增刪改查;

public

class

doublelinkelisttest

}//建立乙個雙向鍊錶的類,每個物件就是乙個節點

class

node

//顯示方法

@override

public string tostring()

';}}

//建立管理鍊錶的類

class

doublelinkelist

//遍歷雙向鍊錶

public

void

list()

//因為頭結點不能動,所以需要乙個副本

//遍歷指向第乙個資料節點

node listnode=head.next;

while

(true

)//輸出節點資訊

system.out.

println

(listnode)

;//後移,迴圈

listnode=listnode.next;}}

//新增節點(預設新增到尾)

public

void

add(node node)

//後移

listnode=listnode.next;

}//已經找到最後

//當前節點下乙個(next)指向新節點

//新節點前乙個(qian)指向當前節點

listnode.next=node;

node.qian=listnode;

}//修改乙個節點的內容

public

void

update

(node node)

//找到需要修改的節點,按照paixu找

//頭結點不能動,要乙個副本

//第乙個資料節點

node listnode=head.next;

boolean flag=

false

;//是否找到節點 預設flase

while

(true

)//找到

if(listnode.paixu==node.paixu)

listnode=listnode.next;

//迴圈}if

(flag)

else

}//刪除節點

//可直接找到要刪除的節點

public

void

delete

(int paixu)

//輔助變數

//第乙個資料節點

node listnode=head.next;

boolean flag=

false

;//標誌是否找到節點 預設false

while

(true)if

(listnode.paixu==paixu)

listnode=listnode.next;

}//找到要刪除的節點

if(flag)

}else

}}

資料結構 鍊錶的增刪改查

關於鍊錶的增刪改查 pragma once include include includetypedef int datatype typedef struct slistnode slistnode 初始化 void slistinit slistnode ppfirst 銷毀 void slis...

雙向鍊錶的增刪改查

package com.mjw.linkedlist 1.遍歷 和單鏈表的思路一致 2.新增 先找到雙向鍊錶的最後 temp.next new heronode newheronode.pre temp 3.修改也是和單鏈表的思路一致 4.刪除 因為是雙向鍊錶,可以自我刪除,直接找到要刪除的結點,比...

雙向鍊錶的增刪改查

雙向鍊錶增刪改查 單向鍊錶查詢的方向只能是乙個方向,而雙向鍊錶可以向前或者向後查詢 單向鍊錶不能自我刪除,需要輔助節點,而雙向鍊錶可以自我刪除,public class doublelinkedlistdemo class doublelinkedlist 遍歷雙向鍊錶的方法,顯示鍊錶 遍歷 pub...