有的時候,處于記憶體中的資料并不是連續的。那麼這時候,我們就需要在資料結構中添加一個屬性,這個屬性會記錄下面一個資料的位址。有了這個位址之後,所有的資料就像一條鍊子一樣串起來了,那麼這個位址屬性就起到了穿線連結的作用。
連結清單有:單連結清單,雙連結清單,單循環連結清單,雙循環連結清單。
了解單連結清單,其他幾種也就大同小異。
相比較普通的線性結構,連結清單結構的優勢是什麼呢?我們可以總結一下:
(1)單個節點建立非常友善,普通的線性記憶體通常在建立的時候就需要設定資料的大小
(2)節點的删除非常友善,不需要像線性結構那樣移動剩下的資料
(3)節點的通路友善,可以通過循環或者遞歸的方法通路到任意資料,但是平均的通路效率低于線性表
那麼在實際應用中,連結清單是怎麼設計的呢?我們可以以int資料類型作為基礎,設計一個簡單的int連結清單:
運作結果:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsICdzFWRoRXdvN1LclHdpZXYyd2LcBzNvwVZ2x2bzNXak9CX90TQNNkRrFlQKBTSvwFbslmZvwFMwQzLcVmepNHdu9mZvwFVywUNMZTY18CX052bm9CX90TUkFHZtJGashEZ6ZFShZXUYpVd1kmYr50MZV3YyI2cKJDT29GRjBjUIF2LcRHelR3LcJzLctmch1mclRXY39zN4YDM0ATMwEzMxUDM0EDMy8CX0Vmbu4GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)