資料結構——單鏈表的基本操作
最近正好在複習資料結構,連結串列作為比較重要的資料結構,特地自己實現了一遍。
首先我們要理解幾個概念:
1、鏈式儲存是最常用的儲存方式之一,可以表示線性和非線性的資料結構。
2、按照鏈式儲存的線性表簡稱為連結串列。
3、單鏈表是一種鏈式存取的資料結構,用一組地址任意的儲存單元來存放線性表中的資料元素。
4、連結串列由節點構成,每個節點的構成為:元素+指標(指向後繼元素)
理解這幾個基本的概念之後,考慮如何連結串列的功能:1、初始化連結串列2、建立連結串列3、新增元素(往頭部新增、往尾部新增、中間新增)4、刪除元素(頭刪除、尾刪除、中間刪除)5、查詢節點6、查詢元素7、修改節點元素8、清空連結串列9、連結串列大小10、逆序連結串列
除此之外,在具體實現上為了方便起見,我們可以為連結串列設定一個頭節點。
下面見程式碼:

image.png

image.png

image.png

image.png

image.png

image.png

image.png
大家經常在筆試或者面試的時候遇到逆序連結串列類似的問題。一般來說思路有這麼幾種:
1、建立另外一個單獨連結串列,用來儲存待逆序連結串列遍歷過成中從後往前的節點;
2、每次遍歷過程中,當前元素都與第一個元素交換位置。比如:1,2,3,4逆序
第一次:2,1,3,4
第二次:3,2,1,4
第三次:4,3,2,1
(程式碼中使用的便是這種方法)
從演算法複雜度來說,建議採用第二種。當然還有其他的方案,此處不做說明了。