之前的文章建立的單鏈表都是不帶頭結點的單鏈表。有時,我們為了更加方便地對鍊錶進行操作,會在單鏈表的第乙個結點前附設乙個結點,稱為頭結點。
頭指標與頭結點的異同
頭指標:頭指標是指煉表中指向第乙個結點的指標,若煉表有頭結點,則是指向頭結點的指標。頭指標具有標識作用,所以常用頭指標冠以鍊錶的名字。
頭結點:頭結點是為了操作的統一和方便而設立的,放在第一元素的結點之前,其資料域一般無意義(也可存放鍊錶的長度)。有了頭結點,對在第一元素結點前插入結點和刪除第一結點,其操作與其它結點的操作就統一了。頭結點不一定是鍊錶的必須要素。
下面根據之前文章建立乙個帶頭結點的單鏈表
node *
createheadlist
(void
)return head;
}
該鍊錶的遍歷函式則變為
void
headdisplay
(node *head)
printf
("\n");
}
帶頭結點的單鏈表的實現(c語言)
這個程式是帶頭結點的單鏈表的實現 單鏈表鏈式儲存結構 頭指標與頭結點的異同 頭指標 1 頭指標是指鍊錶指向第乙個結點的指標,若煉表有頭結點,則是指向頭結點的指標 2 無論鍊錶是否為空,頭指標均不為空 3 頭指標是鍊錶的必要元素 頭結點 1 頭結點是為了操作的統一和方便而設立的,放在第乙個元素的結點之...
帶頭結點的單鏈表
帶頭結點的單鏈表 1 頭結點 在棧區開闢,指標域指向第乙個首元結點,資料域不儲存資料,可以儲存當前結點的個數 2 普通結點 無論是頭結點還是普通結點都是乙個結構體型別,由指標域和資料域組成 指標域指向下乙個結點,儲存下乙個結點的位址 資料域可以設定成聯合體型別,成員由資料元素和結點個數組成,之所以將...
帶頭結點的單鏈表
include include define error printf struct node typedef int elementtype typedef struct node list typedef struct node node struct node list initialize ...