雙端鍊錶的java實現

2021-09-01 23:27:59 字數 1518 閱讀 2209

* 雙端鍊錶,

* 一、什麼是雙鏈表

* 鍊錶中儲存著對最後乙個鏈結點引用的鍊錶

* 二、從頭部進行插入

* 要對鍊錶進行判斷,如果為空則設定尾結點為新新增的結點

* 三、從尾部進行插入

* 如果鍊錶為空,則直接設定頭結點為新新增的結點,否則設定尾結點的後乙個結點為新新增結點

* 四、從頭部進行刪除

* 判斷頭部結點是否有下乙個結點,如果沒有則設定結點為null

package com.algorithm;

/** * 雙端鍊錶,

* 一、什麼是雙鏈表

* 鍊錶中儲存著對最後乙個鏈結點引用的鍊錶

* 二、從頭部進行插入

* 要對鍊錶進行判斷,如果為空則設定尾結點為新新增的結點

* 三、從尾部進行插入

* 如果鍊錶為空,則直接設定頭結點為新新增的結點,否則設定尾結點的後乙個結點為新新增結點

* 四、從頭部進行刪除

* 判斷頭部結點是否有下乙個結點,如果沒有則設定結點為null

* @author lenovo

*/public class firstlastlinklist

/*** 插入乙個結點,在頭結點插入

*/public void insertfirst(long value)

node.next = first;

first =node; }

/*** 插入乙個結點,在尾結點插入

*/public void insertlast(long value)else

last =node; }

/*** 刪除乙個結點,在頭結點刪除

*/public node deletefirst()

first=node.next;

return node; }

/*** 顯示方法

*/public void display()

system.out.println(); }

/*** 查詢方法

* @param value

* @return

*/public node find(long value)

current = current.next;

} return current; }

/*** 刪除方法,根據資料域刪除

* @param value

* @return

*/public node delete(long value)

previous=current;

current = current.next;

}if(current == first) else

return current; }

/*** 判斷是否為空

* @return

*/public boolean isempty()

public static void main(string args)

}

雙端鍊錶 雙向鍊錶(java)

1 雙端鍊錶 2 測試雙端鍊錶 3 雙向鍊錶 4 測試雙向鍊錶 1 雙端鍊錶 package com.cwq.ch05 import com.cwq.ch04.node 雙端鍊錶,將資料串起來 author carpoor date 2019年1月29日 public class myfirstla...

Java單鏈表(雙端鍊錶)簡單實現

1 節點資料結構 public class linknode public linknode int value 2 單鏈表實現 public class singlelink public void insertfirst int value else public intdeletefirst ...

Java資料結構之鍊錶 雙端鍊錶

鍊錶 linked list 是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,而是在每乙個節點裡存到下乙個節點的指標 pointer 使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶體空間,實現靈活的記憶體動態管理。但是鍊錶失去了陣列隨機...