鏈表頭結點存在的意義

 

數據結構中,在單鏈表的開始結點之前附設一個類型相同的結點,稱之爲頭結點。頭結點的數據域可以不存儲任何信息,頭結點的指針域存儲指向開始結點的指針(即第一個元素結點的存儲位置)。

作用
1、防止單鏈表是空的而設的.當鏈表爲空的時候,帶頭結點的頭指針就指向頭結點.如果當鏈表爲空的時候,單鏈表沒有帶頭結點,那麼它的頭指針就爲NULL.
2、是爲了方便單鏈表的特殊操作,插入在表頭或者刪除第一個結點.這樣就保持了單鏈表操作的統一性!
3、單鏈表加上頭結點之後,無論單鏈表是否爲空,頭指針始終指向頭結點,因此空表和非空表的處理也統一了,方便了單鏈表的操作,也減少了程序的複雜性和出現bug的機會。
4、對單鏈表的多數操作應明確對哪個結點以及該結點的前驅。不帶頭結點的鏈表對首元結點、中間結點分別處理等;而帶頭結點的鏈表因爲有頭結點,首元結點、中間結點的操作相同 ,從而減少分支,使算法變得簡單 ,流程清晰。對單鏈表進行插入、刪除操作時,如果在首元結點之前插入或刪除的是首元結點,不帶頭結點的單鏈表需改變頭指針的值,在C 算法的函數形參表中頭指針一般使用指針的指針(在C+ +中使用引用 &);而帶頭結點的單鏈表不需改變頭指針的值,函數參數表中頭結點使用指針變量即可。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章