鏈表包含了單鏈表,雙向鏈表,單項循環鏈表,雙向循環鏈表在磁碟中的存儲不是一段連續的地址空間,而是分開存儲的。

單鏈表只記敘了數據(Date)和下一個節點(next)的存儲位置。

雙向鏈表(Double Linked List)在數據的前後,分別給出了前一個數據節點的存儲位置和後一個數據節點的存儲位置。

單向循環鏈表(Circular Linked List)和雙向鏈表基本相同,不同的是,在循環鏈表中的開始節點的前一個數據節點指向最後一個數據節點的存儲位置,最後一個數據節點的下一個數據節點指向開始節點的存儲位置。

雙向循環鏈表 [Double Circular Linked List] : 由各個內存結構通過指針 Next 和指針 Prev 鏈接在一起組成,每一個內存結構都存在前驅內存結構和後繼內存結構,內存結構由數據域、Prev 指針域和 Next 指針域組成。

鏈表的插入刪除效率非常高,在插入元素時,只需要將插入位置的前一個節點的位置指向,賦值為插入的數據的位置,然後將插入數據的下一個節點指向後一個數據的存儲位置即可。刪除時,只需要修改刪除位置的前後節點指向即可,將前一個節點的指向修改為要刪除元素的後一個節點的存儲位置。如果是雙向鏈表,再將刪除節點的後一個節點的指向修改為刪除元素之前的節點的存儲位置。

圖解如下:


推薦閱讀:
相關文章