頭結點的作用

2021-10-25 12:24:11 字數 524 閱讀 5886

資料結構中,在單鏈表的開始結點之前附設乙個型別相同的結點,稱之為頭結點。頭結點的資料域可以不儲存任何資訊,頭結點的指標域儲存指向開始結點的指標(即第乙個元素結點的儲存位置)。

作用1、防止單鏈表是空的而設的,當鍊表為空的時候,帶頭結點的頭指標就指向頭結點,如果當鍊表為空的時候,單鏈表沒有帶頭結點,那麼它的頭指標就為null。

2、是為了方便單鏈表的特殊操作,能有效減少**量,在插入在表頭或者刪除第乙個結點時不用考慮特殊情況,刪除或插入使用者的第乙個節點的值和刪除或插入中間的值用一樣的**,這樣就保持了單鏈表操作的統一性!

3、單鏈表加上頭結點之後,無論單鏈表是否為空,頭指標始終指向頭結點,因此空表和非空表的處理也統一了,方便了單鏈表的操作,也減少了程式的複雜性和出現bug的機會。

4、總結來說,沒有頭結點對第乙個結點的操作大多和中間結點不太一樣,每個操作都要考慮特殊情況,有頭結點的話就不必考慮那麼多了,還不容易出現**錯誤。

頭指標和頭結點

對於乙個鍊錶來說 頭指標是必須的 頭結點是可有可無的 不過頭結點為鍊錶的插入實現了統一化 在乙個沒有頭結點的鍊錶裡面,我們要插入乙個結點我們要傳的是頭指標的位址,因為我們在插入第乙個結點的時候要改變頭指標 想改表乙個東西就要傳它的位址,我們現在要改變的是這個指標 所以要傳的是這個指標的位址,這裡考慮...

頭結點和頭指標的理解

線性表使用順序 陣列 儲存時有個弊端,那就是在插入和刪除時需要大量的移動資料,這顯示是非常消耗時間的,所以可以採用鏈式儲存,即有乙個指標域 單鏈表 來記錄下個結點的儲存位置 位址 這樣在插入和刪除結點時只需要修改指標域即可,從而大量減少移動資料所消耗的時間。來看鍊錶的定義 struct node 其...

鍊錶的虛擬頭結點

public class linkedlist public node e e public node override public string tostring 虛擬頭結點 private node dummyhead private int size public linkedlist 獲取...