1、鏈表上與下(編程經驗總結):
https://www.w3xue.com/exp/article/201810/2260.html
https://www.w3xue.com/exp/article/201810/2259.html
2、[數據結構與算法] 鏈表:哨兵
針對鏈表的插入、刪除操作,需要對插入第一個結點和刪除最後一個結點的情況進行特殊處理。這樣代碼實現起來就會很繁瑣,不簡潔,而且也容易因爲考慮不全而出錯。如何來解決這個問題呢?
技巧三中提到的哨兵就要登場了。哨兵,解決的是國家之間的邊界問題。同理,這里說的哨兵也是解決“邊界問題”的,不直接參與業務邏輯。如果我們引入哨兵結點,在任何時候,不管鏈表是不是空,head 指針都會一直指向這個哨兵結點。我們也把這種有哨兵結點的鏈表叫帶頭鏈表。相反,沒有哨兵結點的鏈表就叫作不帶頭鏈表。哨兵結點是不存儲數據的。因爲哨兵結點一直存在,所以插入第一個結點和插入其他結點,刪除最後一個結點和刪除其他結點,都可以統一爲相同的代碼實現邏輯了。
https://blog.csdn.net/qq_25800311/article/details/88855797