一、單鏈表指針
單鏈表的指針域指向的是下一個節(jié)點(diǎn)的地址,我們把指向下個節(jié)點(diǎn)地址的指針叫做后繼指針。單鏈表的名列前茅個節(jié)點(diǎn)的存儲位置叫做頭指針,最后一個節(jié)點(diǎn)的后繼指針為空 ,一般用 NULL 或者 “^” 表示。
鏈?zhǔn)酱鎯Y(jié)構(gòu)是指用一組任意的存儲單元存儲線性表的數(shù)據(jù)元素,通過指針連接串聯(lián)起來。這里的“任意”指的就是,存儲單元可以連續(xù)也可以不連續(xù),這就意味著它們可以是內(nèi)存中任何未被占用的地方。有味兒點(diǎn)講就是只要內(nèi)存這個廁所里空著的茅坑,你就隨便蹲。鏈表中的存儲單元叫做節(jié)點(diǎn)。它和數(shù)組中只存數(shù)據(jù)信息不同,每個節(jié)點(diǎn)分為兩部分:數(shù)據(jù)域和指針域。數(shù)據(jù)域存儲的數(shù)據(jù),指針域存儲著同一個表里下一個節(jié)點(diǎn)的位置。
延伸閱讀:
二、頭指針與頭節(jié)點(diǎn)的區(qū)別
頭指針,顧名思義,是指向鏈表名列前茅個結(jié)點(diǎn)的指針,如果有頭結(jié)點(diǎn)的話,那么就是指向頭結(jié)點(diǎn)的指針。
它是鏈表的必備元素且無論鏈表是否為空,頭指針都不能為空,因?yàn)樵谠L問鏈表的時候你總得知道它在什么位置,這樣才能通過它的指針域找到下一個結(jié)點(diǎn)的位置,也就是說知道了頭指針,整個鏈表的元素我們都是可以訪問的。
所以頭指針必須要存在,這也就是我們常說的標(biāo)識,這也就是為什么我們一般用頭指針來表示鏈表。
頭結(jié)點(diǎn),是放在名列前茅個元素的節(jié)點(diǎn)之前,它的數(shù)據(jù)域一般沒有意義,并且它本身也不是鏈表必須要帶的。
它的設(shè)立是單純是為了操作的統(tǒng)一和方便,其實(shí)就是為了在某些時候可以更方便的對鏈表進(jìn)行操作,有了頭結(jié)點(diǎn),我們在對名列前茅個元素前插入或者刪除結(jié)點(diǎn)的時候,它的操作與其它結(jié)點(diǎn)的操作就統(tǒng)一了。