單鏈表頭結點 首元節點詳解

2021-10-10 02:57:18 字數 888 閱讀 6480

本篇部落格純屬鍊錶的先導部落格(正在趕工)

首元結點:

是指煉表中用來儲存資料元素的結點中的第乙個結點。

頭結點:

在單鏈表的第乙個結點之前附設的乙個結點。他的資料域可以不儲存任何資訊,也可以儲存如線性表的長度等類的附加資訊。頭結點的指標域指向首元結點。並且頭結點不計入鍊錶的長度。

哦,對,還有頭指標,頭指標就是指向鍊錶中第乙個結點的指標(有頭結點就指向頭結點,沒得就指向首元結點)

為什麼要這樣設定呢?

主要是為了對鍊錶進行操作時,可以對空表,非空表的情況以及對首元結點進行統一處理,程式設計更方便。

就分析下頭結點的存在與否對刪除操作的影響吧!

l為頭指標,p指標指向待刪除結點,q指標指向待刪除結點的前驅,對於非空的鍊錶

1.帶頭結點時

刪除第乙個結點(此時,q指向頭結點)

q->next=p->next;

free

(p);

刪除第i(i不等於1)個結點

q->next=p->next;

free

(p);

我們發現,不管是刪除第乙個還是其它結點,**都一樣

2.不帶頭結點時

刪除第乙個結點

此時p為空,不指向任何結點

l=p->next;

free

(p);

刪除第i(i不等於1)個結點

q->next=p->next;

free

(p);

不帶頭結點時,**發生了改變,相對於帶頭結點時,麻煩了一些

單鏈表(表頭結點)

include include define ok 0 define error 1 define malloc error 2 typedef int elementtype c語言中沒有elementtype這個資料型別,講資料結構時,用這個來泛指某一種資料型別 typedef struct n...

單鏈表頭節點,頭指標

鍊錶中第乙個結點的儲存位置叫做頭指標,那麼整個鍊錶的訪問就必須是從頭指標開始進行了。之後的每乙個結點,其實就是上乙個的後繼指標指向的位置。這裡有個地方要注意,就是對頭指標概念的理解,這個很重要。鍊錶中第乙個結點的儲存位置叫做頭指標 如果鍊錶有頭結點,那麼頭指標就是指向頭結點資料域的指標。畫乙個圖吧。...

單鏈表 頭指標與頭結點

頭指標 頭指標是指鍊錶指向第乙個結點的指標,若煉表有頭結點,則是指向頭結點的指標。頭指標具有標識作用,所以常用頭指標冠以鍊錶的名字。無論鍊錶是否為空,頭指標均不為空。頭指標是鍊錶的必要元素。頭結點 它是為了操作的統一和方便設立的,放在第乙個元素的結點之前,其資料域一般無意義 但也可以用來存放鍊錶的長...