天天看點

一步一步寫算法(之單向連結清單)

【 聲明:版權所有,歡迎轉載,請勿用于商業用途。  聯系信箱:feixiaoxing @163.com】

    有的時候,處于記憶體中的資料并不是連續的。那麼這時候,我們就需要在資料結構中添加一個屬性,這個屬性會記錄下面一個資料的位址。有了這個位址之後,所有的資料就像一條鍊子一樣串起來了,那麼這個位址屬性就起到了穿線連結的作用。

    相比較普通的線性結構,連結清單結構的優勢是什麼呢?我們可以總結一下:

    (1)單個節點建立非常友善,普通的線性記憶體通常在建立的時候就需要設定資料的大小

    (2)節點的删除非常友善,不需要像線性結構那樣移動剩下的資料

    (3)節點的通路友善,可以通過循環或者遞歸的方法通路到任意資料,但是平均的通路效率低于線性表

    那麼在實際應用中,連結清單是怎麼設計的呢?我們可以以int資料類型作為基礎,設計一個簡單的int連結清單:

    (1)設計連結清單的資料結構

    (2)建立連結清單

    (3)删除連結清單

    (4)連結清單插入資料

    (5)删除資料

    (6)查找資料

    (7)列印資料

    (8)統計資料

【預告: 下一篇部落格介紹雙向連結清單】

繼續閱讀