鏈表之 頭節點與尾指針 區別


單鏈表的必要條件:頭節點的head,以及尾指針指向null;  

頭結點

首先,不要被以下三個詞組弄混了:

鏈表頭:數據內容為第一個元素的結點。

頭指針:指向頭結點元素的指針。

頭結點:數據內容無效,其指針是頭指針。

一句話描述為:頭指針是指向頭結點的指針,頭結點是指向鏈表頭的結點。


對於一個鏈表來說,頭指針是一定存在的,是訪問鏈表的入口,如果沒有頭指針則無法對其進行訪問;鏈表頭對於非空表來說是一定存在的,非空表則不存在。

2 尾指針

另外一種鏈表的技巧是使用尾指針。

尾指針是相對於頭指針而言的,形式與頭指針相同,內容只想鏈表的最后一個節點。

通常,鏈表的插入語刪除操作都是在鏈表頭或者鏈表尾進行。如果只保存一個頭指針的話,要在鏈表尾操作時必須先遍歷整個表,增加了時間復雜度,如果能再保存一個尾指針,則可以立即找到鏈表尾,時間復雜度降為O(1)。生氣

在單向循環鏈表中,時常值保存一個尾指針,因為尾指針的下一個節點即是頭結點。這樣便可以方便地在首尾進行操作。

如果未使用頭節點,在頭節點處加入元素,要考慮head的變化(新加入的元素為head);同樣的,若使用尾指針,那么在尾添加元素時,要注意尾指針(讓新加入的元素指向null)的變化!!!!   (一句話,始終保持變化后的狀態是一鏈表!!!)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM