連結串列

氣泡排序(Bubble sorting)


單向連結串列,它主要組成的定義如下:

由一組節點(Node)組成的有序串列

每個節點有『資料欄』與一個『連結欄』組成

『連結欄』指向其它節點的位置

根據以上的定義,大至上長的如下圖

接下來假如我們要新增節點D至A與B之間,過程會和下圖一樣,會將A節點的Link連至D節點,然後它再連到B結點上。而刪除結果過程也差不多,就只是重新指向節點位置。

雙向連結串列 (Double Linked List)


雙向連結串列是另一種常用的串列結構,在單向串列中,它只能順著一個方向尋找資料,而且中間不小心有個節點斷掉,那後面串列的資料就會消失且救不回來,而雙向連結就是可以改善『單向』與『節點斷掉』這兩個缺點。

雙向連結串列,它主要組成的定義如下:

由一組節點(Node)組成的有序串列

每個節點有『資料欄』與二個『連結欄』組成,一個連結前一個節點,而另一個則連結後一個節點

『連結欄』指向其它節點的位置

根據以上的定義,大至上長的如下圖

然後我們看下圖,來理解如果要插入與刪除節點時,雙向連結串列會如何處理。事際上原理和單向連結串列差不多,都是重新指向位置,只是它要多指向一個


串列和陣列的比較



由於串列和陣列這兩個使用起來很相似,但原理上,很多地方是不一樣的。以下比較表格來源為此