C 雙向鍊錶及自定義鍊錶

2021-05-24 23:28:38 字數 495 閱讀 7752

一、雙向鍊錶linkedlist

linkedlist集合類沒有非泛型集合的類似版本。linkedlist是乙個雙向鍊錶,其元素指向它前面和後面的元素。

鍊錶的優點是,如果將元素插入列表的中間位置,使用鍊錶會非常快。在插入乙個元素時,只需修改上乙個元素的next引用和下乙個元素的previous引用,使它們引用所插入的元素。在list和arraylist類中,插入乙個元素,需要移動該元素後面的所有元素。

當然,鍊錶也有缺點。鍊錶的元素只能乙個接乙個地訪問,這需要較長的時間來查詢位於鍊錶中間或尾部的元素。

鍊錶不僅能在列表中儲存元素,還可以給每個元素儲存下乙個元素和上乙個元素的資訊。這就是

linkedlist包含linkedlistnode型別的元素的原因。使用linkedlistnode 類,可以獲得列表中的下乙個元素和上乙個元素. 

二、自定義鍊錶

Python 自定義雙向鍊錶

class item object 定義鍊錶的每乙個節點 def init self,data,last none next none,self.data data 以字典形式,存放資料 self.last last 用於指向上乙個節點 self.next next 用於指向下乙個節點 class ...

C 自定義鍊錶

c 中的鍊錶結構在程式中十分常見,用處很廣。鍊錶結構中,每個節點由值部分和指標部分組成,值部分即儲存的資料,指標指向下乙個節點,從而使得每個節點能夠連線起來,值和指標就像骨骼和關節一樣。自定義鍊錶,首先定義出節點的結構,用類表示為 public class node定義完節點,下面開始構造list鍊...

自定義鍊錶

鍊錶是非連續 無順序的資料結構,鍊錶中元素與元素之間的記憶體位址沒有順序關係。鍊錶由乙個個結點組成,結點中儲存兩類資訊,第一類是儲存入結點的資料,第二類是結點的指向。鍊錶分為單項鍊表,雙向鍊錶,環形鍊錶,單項鍊表中只有乙個結點指向,指向的的下乙個結點的記憶體位址,只能單向移動,單項操作 雙向鍊錶有兩...