雙端鍊錶:雙端鍊錶與傳統鍊錶非常相似.只是新增了乙個屬性-即對最後乙個鏈結點的引用
如上圖所示:由於有著對最後乙個鏈結點的直接引用.所以雙端鍊錶比傳統鍊錶在某些方面要方便.比如在尾部插入乙個鏈結點.雙端鍊錶可以進行直接操作
但傳統鍊錶只能通過next節點迴圈找到最後鏈結點操作.所以雙端鍊錶適合製造佇列.
下面的雙端鍊錶類.有幾個重要方法.
insertfirst(插入首鏈結點)
這個方法與上篇博文的單鏈表是基本一樣的.唯一區別就是,多了個last引用的操作.正常由於last是指向尾鏈結點的引用,所以插入首鏈結點是與他無關的.
但當鏈結點為空(isempty())的時候,這會追加的鏈結點既是首鏈結點又是尾鏈結.所以需要將last指向它.
Java資料結構之鍊錶 雙端鍊錶
鍊錶 linked list 是一種常見的基礎資料結構,是一種線性表,但是並不會按線性的順序儲存資料,而是在每乙個節點裡存到下乙個節點的指標 pointer 使用鍊錶結構可以克服陣列鍊錶需要預先知道資料大小的缺點,鍊錶結構可以充分利用計算機記憶體空間,實現靈活的記憶體動態管理。但是鍊錶失去了陣列隨機...
雙端鍊錶 雙向鍊錶(java)
1 雙端鍊錶 2 測試雙端鍊錶 3 雙向鍊錶 4 測試雙向鍊錶 1 雙端鍊錶 package com.cwq.ch05 import com.cwq.ch04.node 雙端鍊錶,將資料串起來 author carpoor date 2019年1月29日 public class myfirstla...
資料結構 雙端鍊錶和雙向鍊錶
雙端鍊錶 一 什麼是雙端鍊錶。鍊錶中儲存著對最後乙個鏈節點引用的鍊錶。二 從頭部進行插入 要對鍊錶進行判斷,如果為空則設定尾節點為新新增的節點。三 從尾部進行插入 如果鍊錶為空,則直接設定頭結點為新新增的節點,否則設定尾節點的後乙個節點為新新增節點。四 從頭部進行刪除 判斷頭結點是否為下乙個結點,如...