當前位置:
首頁 > 最新 > 看圖輕鬆理解數據結構與演算法系列

看圖輕鬆理解數據結構與演算法系列

前言

推出一個新系列,《看圖輕鬆理解數據結構和演算法》,主要使用圖片來描述常見的數據結構和演算法,輕鬆閱讀並理解掌握。本系列包括各種堆、各種隊列、各種列表、各種樹、各種圖、各種排序等等幾十篇的樣子。

單向鏈表

單向鏈表屬於鏈表的一種,也叫單鏈表,單向即是說它的鏈接方向是單向的,它由若干個節點組成,每個節點都包含下一個節點的指針。

單鏈表特點

創建單鏈表時無需指定鏈表的長度,這個比起數組結構更加有優勢,而數組縱使實現成動態數組也是需要指定一個更大的數組長度,而且要把原來的數組元素一個個複製到新數組中。

單鏈表中的節點刪除操作很方便,它可以直接改變指針指向來實現刪除操作,而某些場景下數組的刪除會導致移動剩下的元素。

單鏈表中的元素訪問需要通過順序訪問,即要通過遍歷的方式來尋找元素,而數組則可以使用隨機訪問,這點算是單鏈表的缺點。

單鏈表創建

創建一個空鏈表,

image

插入鏈尾

將這些單詞按順序分別插入尾部,創建「nobody」節點,

image

連接起來,

image

繼續創建「grows」節點,

image

再連接起來,

image

以此類推,將剩下的分別創建節點並連接起來。

image

image

創建迭代器

迭代器的 current 指針初始指向head,

image

執行兩次 next 操作, current 指針指向索引為2的節點,

image

此時的節點值為,

image

設置 current 指針指向索引為4的節點,

image

插入節點

在索引1後面插入「but」和「someone」兩個節點。先將 current 指針指向索引為1的節點,創建一個"but"新節點,

image

插入到 current 指向位置,

image

執行 next 操作,

image

創建一個"someone"新節點,

image

插入到 current 指向位置,

image

刪除節點

將「but」和「someone」兩個節點刪除,先刪除「but」節點,

image

image

刪除「someone」節點,

image

--------------------------------------

跟我交流:

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 遠洋號 的精彩文章:

TAG:遠洋號 |