頭指標、頭節點和首元節點詳解
阿新 • • 發佈:2018-12-16
很多初學者在學習連結串列時,對頭指標、頭節點和首元節點的概念及用法不是很清楚,本節就大家遇到的主要問題進行鍼對性的講解。
圖 4 頭節點、頭指標和首元節點
若連結串列中存在頭節點,且頭節點的指標域為空(NULL),表明連結串列是空表。
頭節點對於連結串列來說,不是必須的,換句話說,一個完整的連結串列中可以不設有頭節點。那麼,可能有人會問:既然頭節點無關緊要,那它有什麼作用?在處理某些問題時,給連結串列新增頭節點會使問題變得簡單。
其實,首元節點和連結串列中存放資料的其他節點沒什麼不同,只是因為該節點位於連結串列的頭部,所以被稱為首元節點。
頭節點和頭指標的區別是:
圖 4 頭節點、頭指標和首元節點
頭節點
有時,在連結串列的第一個節點之前會額外增設一個節點,該節點的資料域一般不存放資料(有些情況下也可以存放連結串列的長度等資訊),此節點被稱為頭節點。若連結串列中存在頭節點,且頭節點的指標域為空(NULL),表明連結串列是空表。
頭節點對於連結串列來說,不是必須的,換句話說,一個完整的連結串列中可以不設有頭節點。那麼,可能有人會問:既然頭節點無關緊要,那它有什麼作用?在處理某些問題時,給連結串列新增頭節點會使問題變得簡單。
首元節點
連結串列中第一個元素所在的節點,它是頭節點後邊的第一個節點。其實,首元節點和連結串列中存放資料的其他節點沒什麼不同,只是因為該節點位於連結串列的頭部,所以被稱為首元節點。
頭指標
連結串列的頭指標永遠指向連結串列中第一個節點的位置,換句話說,如果連結串列有頭節點,頭指標指向頭節點;否則,頭指標指向首元節點。一個連結串列可以頭節點,但不能沒有頭指標。
頭節點和頭指標的區別是:
- 頭指標是一個指標,頭指標指向連結串列的頭節點或者首元節點;
- 頭節點是一個實際存在的節點,它包含有資料域和指標域。