當鍊表的每個結點只包含乙個指標域時,我們稱此鍊錶為單鏈表。
關於單鏈表的訪問,有時候我們在單鏈表的第乙個結點(有效元素)之前附設乙個結點,稱之為頭結點;指向頭結點的指標,稱之為頭指標;對單鏈表的訪問必須從頭指標開始進行,由於單鏈表的最後乙個資料元素沒有直接後繼,則指標為null。
對於頭結點,資料域可以不儲存任何資訊,也可儲存如鍊表長度等附加資訊。
下面是帶頭結點的單鏈表與空表的比較圖。
頭指標與頭結點不同,頭結點即第乙個結點,頭指標是指向第乙個結點的指標。鍊錶中可以沒有頭結點,但不能沒有頭指標。
以下是頭指標與頭結點的關係:
//定義結點的結構體
typedef struct lnodelnode,*linklist;
則定義linklist l;時,l為鍊錶的頭指標。
l=(linklist) malloc (sizeof(lnode)); //建立乙個結點
此處返回給l的是乙個指標,並且賦給了頭指標。
l->next=null; //這裡說明我建立了乙個頭結點,即同時運用了頭指標和頭結點。
小結關於頭指標:
頭指標具有標識作用,故常用頭指標冠以鍊錶的名字。
無論鍊錶是否為空,頭指標均不為空。頭指標是鍊錶的必要元素。
關於頭結點:
結構之美 單鏈表的頭結點與頭指標
當鍊表的每個結點只包含乙個指標域時,我們稱此鍊錶為單鏈表。關於單鏈表的訪問,有時候我們在單鏈表的第乙個結點 有效元素 之前附設乙個結點,稱之為頭結點 指向頭結點的指標,稱之為頭指標 對單鏈表的訪問必須從頭指標開始進行,由於單鏈表的最後乙個資料元素沒有直接後繼,則指標為null。對於頭結點,資料域可以...
單鏈表 頭指標與頭結點
頭指標 頭指標是指鍊錶指向第乙個結點的指標,若煉表有頭結點,則是指向頭結點的指標。頭指標具有標識作用,所以常用頭指標冠以鍊錶的名字。無論鍊錶是否為空,頭指標均不為空。頭指標是鍊錶的必要元素。頭結點 它是為了操作的統一和方便設立的,放在第乙個元素的結點之前,其資料域一般無意義 但也可以用來存放鍊錶的長...
單鏈表的頭結點和頭指標
當鍊表的每個結點只包含乙個指標域時,此鍊錶就是單鏈表。在單鏈表的開始結點之前附設乙個型別相同的結點,稱之為頭結點。頭結點的資料域可以不儲存任何資訊,頭結點的指標域儲存指向開始結點的指標 即第乙個元素結點的儲存位置 頭指標是指向第乙個結點的指標,鍊錶中可以沒有頭結點,但是不能沒有頭指標。單鏈表的定義 ...