頭指針
頭指針
鏈表中第一個結點的存儲位置叫做頭指針,那麼整個鏈表的存取就必須是從頭指針開始進行了。之後的每一個結點,其實就是上一個的後繼指針指向的位置。
鏈式存儲時只要不是循環鏈表,就一定存在頭指針。
由定義可知頭指針指向鏈表第一個存儲位置,當存在頭結點時頭指針指向頭結點,這時如果刪除鏈表中的節點頭指針不會改變(頭指針不能刪除)。
![圖1](https://i1.twwiki.net/cover/w200/md/d/mddee6dac112d71dab1649563eb025e91.jpg)
圖1
頭指針就是鏈表的名字。頭指針僅僅是個指針而已。
• 頭結點是為了操作的統一與方便而設立的,放在第一個元素結點之前,其數據域一般無意義(當然有些情況下也可存放鏈表的長度、用做監視哨等等)。
• 有了頭結點后,對在第一個元素結點前插入結點和刪除第一個結點,其操作與對其它結點的操作統一了。
• 首元結點也就是第一個元素的結點,它是頭結點後邊的第一個結點。
• 頭結點不是鏈表所必需的。
• 是的,對於頭指針,我們也可以有相應的理解了。
• 在線性表的鏈式存儲結構中,頭指針是指鏈表指向第一個結點的指針,若鏈表有頭結點,則頭指針就是指向鏈表頭結點的指針。
• 頭指針具有標識作用,故常用頭指針冠以鏈表的名字。
• 無論鏈表是否為空,頭指針均不為空。頭指針是鏈表的必要元素。
• 單鏈表也可以沒有頭結點。如果沒有頭結點的話,那麼單鏈表就會變成這樣:
![圖2](https://i1.twwiki.net/cover/w200/m5/a/m5a9141cee57abf28836465aaff58980a.jpg)
圖2