資料結構中,在單鏈表的開始結點之前附設乙個型別相同的結點,稱之為頭結點。頭結點的資料域可以不儲存任何資訊,頭結點的指標域儲存指向開始結點的指標(即第乙個元素結點的儲存位置)。
作用1、防止單鏈表是空的而設的,當鍊表為空的時候,帶頭結點的頭指標就指向頭結點,如果當鍊表為空的時候,單鏈表沒有帶頭結點,那麼它的頭指標就為null。
2、是為了方便單鏈表的特殊操作,能有效減少**量,在插入在表頭或者刪除第乙個結點時不用考慮特殊情況,刪除或插入使用者的第乙個節點的值和刪除或插入中間的值用一樣的**,這樣就保持了單鏈表操作的統一性!
3、單鏈表加上頭結點之後,無論單鏈表是否為空,頭指標始終指向頭結點,因此空表和非空表的處理也統一了,方便了單鏈表的操作,也減少了程式的複雜性和出現bug的機會。
4、總結來說,沒有頭結點對第乙個結點的操作大多和中間結點不太一樣,每個操作都要考慮特殊情況,有頭結點的話就不必考慮那麼多了,還不容易出現**錯誤。
資料結構 哨兵作用
應用 假設乙個亂序陣列,需要查詢乙個元素是否在該陣列中,這時需要用到順序查詢,也就是遍歷陣列。一般情況下我們會寫下如下 cpp view plain copy print int sequential search int a,intn,intkey return 0 查詢失敗 有的資料結構書上,會...
c 中標頭檔案的作用
標頭檔案,其實它的內容跟 cpp 檔案中的內容是一樣的,都是 c 的源 但標頭檔案不用被編譯。我們把所有的函式宣告全部放進乙個標頭檔案中,當某乙個 cpp 原始檔需要它們時,它們就可以通過乙個巨集命令 include 包含進這個 cpp 檔案中,從而把它們的內容合併到 cpp 檔案中去。當 cpp ...
資料結構 帶頭結點的單鏈表
比較坑爹的基礎啊,大把時間浪費在建構函式上,建構函式 出生決定命運!自己解決的bug,感覺還不錯。其實程式的核心是演算法,演算法建立在資料結構的基礎之上。大部分的程式設計師現在學的基本都是規則,而不是創造。但掌握了規則,也能創造很多財富。重新鞏固我弱爆了的資料結構,沒敲完資料結構的程式設計師不是好領...