複製鏈接
請複製以下鏈接發送給好友

頭指針

鎖定
頭指針是以確定線性表中第一個元素對應的存儲位置,一般用於處理數組、鏈表、隊列等數據結構。單鏈表可以用頭指針的名字來命名。單鏈表中頭指針指向第一個結點。
中文名
頭指針
領    域
數據機構

頭指針介紹

鏈表中第一個結點的存儲位置叫做頭指針,那麼整個鏈表的存取就必須是從頭指針開始進行了。之後的每一個結點,其實就是上一個的後繼指針指向的位置。
鏈式存儲時只要不是循環鏈表,就一定存在頭指針。

頭指針頭指針和頭結點

由定義可知頭指針指向鏈表第一個存儲位置,當存在頭結點時頭指針指向頭結點,這時如果刪除鏈表中的節點頭指針不會改變(頭指針不能刪除) [1] 
圖1 圖1
當不存在頭結點時,頭指針指向首結點,如果這時候刪除首結點那麼頭指針發生改變。這裏有個地方要注意,就是對頭指針概念的理解,這個很重要。“鏈表中第一個結點的存儲位置叫做頭指針”,如果鏈表有頭結點,那麼頭指針就是指向頭結點數據域的指針。畫一個圖吧。
頭指針就是鏈表的名字。頭指針僅僅是個指針而已。
  • 頭結點是為了操作的統一與方便而設立的,放在第一個元素結點之前,其數據域一般無意義(當然有些情況下也可存放鏈表的長度、用做監視哨等等)。
  • 有了頭結點後,對在第一個元素結點前插入結點和刪除第一個結點,其操作與對其它結點的操作統一了。
  • 首元結點也就是第一個元素的結點,它是頭結點後邊的第一個結點。
  • 頭結點不是鏈表所必需的。
  • 是的,對於頭指針,我們也可以有相應的理解了。
  • 在線性表的鏈式存儲結構中,頭指針是指鏈表指向第一個結點的指針,若鏈表有頭結點,則頭指針就是指向鏈表頭結點的指針。
  • 頭指針具有標識作用,故常用頭指針冠以鏈表的名字。
  • 無論鏈表是否為空,頭指針均不為空。頭指針是鏈表的必要元素。單鏈表也可以沒有頭結點。如果沒有頭結點的話,那麼單鏈表就會變成這樣:
圖2 圖2
參考資料