Java中雙鏈表的查詢 插入 刪除等

2021-09-02 00:00:58 字數 2124 閱讀 6181

雙向鍊錶結構和單向鍊錶的區別:最後乙個結點的鏈結位址上,單向鍊錶是null,而雙向鍊錶是表頭的鏈結位址。

即雙向鍊錶的head和last互相指向

表頭為空      

head之前的節點是last=50這個節點 ,head之後的節點是first=10這個節點

last之前是40這個節點,last之後是head這個頭節點

雙鏈表新增節點

在index(20這個節點)之前新增   

新增之後  新元素為15這個節點

新元素的下乙個指向index(20這個節點)

新元素的上乙個指向index的上乙個(10這個節點)

了解上面內容後總結雙向鍊錶操作

1)需要有乙個節點內部類node

2)需要有乙個頭部head,head沒有值

3)鍊錶要實現的操作有:新增add   刪除remove  獲得get

4)add操作分類:

a)從頭部新增,即新增到第乙個元素,即在head之後新增

b)從尾部新增,即新增到最後乙個元素,即在head之前新增

c)在指定位置index之前新增

d)在指定位置index之後新增

5)remove操作分類:

a)移出first第乙個

b)移出last最後乙個

c)移出index

package cn.xiaoshan.collection;

import cn.xiaoshan.collection.mylinkedlist;

import cn.xiaoshan.collection.mylinkedlist.node;

public class mylinkedlist /*implements list*/

public string tostring() }

private node head = new node(null);

private int size;

public int getsize()

private boolean addfirst(object value)

private boolean addlast(object value)

private boolean add(object value)

private boolean add(int index,object value)

private object getvalue(int index)

private boolean remove(int index)

private boolean removefirst()

private boolean removelast()

private node getnode(int index)

return node; }}

private void addbefore(node newnode,node node)

private void addafter(node newnode,node node)

private void removenode(node node)

private boolean isempty()

public string tostring(){

stringbuilder str = new stringbuilder(">");

node node = head;

for(int i = 0;i在index(20這個節點)之前新增   

新增之後  新元素為15這個節點

新元素的下乙個指向index(20這個節點)

新元素的上乙個指向index的上乙個(10這個節點)

雙鏈表的插入和刪除實現

雙鏈表相對於單鏈表,最大的不同就是在它的插入和刪除操作上。在刪除實現時,要注意尾結點的刪除和普通結點的刪除的區別,需分別對待。以下是我的實現 includeusing namespace std struct node node creat int n return head int show no...

迴圈雙鏈表的刪除 插入 顯示

include include include typedef int itemvalue const int sleep time 10000 typedef struct doublelinkedlist doublelist,pdoublelist doublelist createcylic...

單鏈表的插入,查詢,刪除

鍊錶是一種重要的資料結構,相比於陣列,陣列更像是乙個順序表,陣列只要第乙個元素固定,那麼在他後面的元素的位址一定固定,陣列在記憶體中是一塊連續的儲存區域,我們可以根據下標找到他的每個元素,這是陣列和鍊錶的乙個區別 鍊錶,見名思意,乙個鍊子連線起來的表,元素之間的聯絡靠的是這個鍊子,這也決定了鍊錶中的...