文中鏈接附上java版代碼
1.單鏈表
單鏈表是一種鏈式存儲的數據結構,方便插入/刪除數據元素,對比數組,在進行插入刪除等操作時,更節省空間。單鏈表中每一個結點的構成都是由數據元素+指針構成的
2.單循環鏈表
單循環鏈表與單鏈表的區別就是,單循環鏈表的尾指針指向頭結點,可以想象成一個環,首尾相連,這時候需要考慮兩種情況:
1.不帶頭結點
2.帶頭節點
不帶頭節點的情況:
對比單鏈表,直接尾結點的指針指向頭節點就好了
帶頭節點的情況:
尾結點指向頭結點的下一個結點,頭結點不保存數據。
3.雙鏈表:
顧名思義,雙向鏈表。每個結點中有兩個指針,一個指向該結點的前一個結點(前驅結點),一個指向該結點的下一個結點(後繼結點)。同上文,此處一樣需要考慮是否帶頭結點。
4.雙循環鏈表
雙循環鏈表與雙鏈表的區別是頭結點的前驅是尾結點,尾結點的後驅是頭結點。
同樣考慮是否帶頭結點。
注:文中所說考慮是否帶頭結點的意思是是否帶有一個不保存數據的頭結點,不對他進行額外的操作,只作爲一個訪問鏈表中第一個保存數據的結點(即文中其他地方所說的保存數據的頭結點)的入口。
單鏈表/單循環鏈表/雙循環鏈表可以參考我的以下博客: