串列由有次序(順序)的資料組合而成。
主要可以分成兩類:循序串列(Sequential List)與鏈結串列(Linked List)。
組成元素之間有線性關係,並且以循序方式儲存
循序串列(Sequential List) 就是 陣列(Array)
由一個或以上的的節點 (node/vertex) 所組成(動態記憶體配置)。其中每一個結點都包含兩個欄位所組成,分別是資料欄位與指標欄位。指標(pointer)則被稱作連結,將串列鍊結起來 。
串列的節點(node) 包含兩個部分:
資料元素儲存在非連續性的記憶體空間,可以彈性的在串列上增減元素。因此使用動態記憶體配置(鏈結串列)來實作堆疊、佇列等資料結構時,不需事先宣吿陣列大小(靜態語言特性),使用上較為彈性。
通常在面對一個Linked list時,能夠公開存取(access)的node只有第一個node,不過因為node中有pointer記錄下一個node的記憶體位置,便能夠讀取下一個node的data與pointer,換句話說,有了node中的pointer就可以在Linked list中 移動(traversal),更進一步,便能進行諸如「新增節點」、「刪除節點」、「印出Linked list」等等的資料處理