提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
数据结构中单链表的创建 带头结点跟不带头结点的区别
一、单链表:带头结点跟不带头结点
指针:通常使用“头指针”来标识一个链表,如单链表L,头指针为NULL的时表示一个空链表。链表非空时,头指针指向的是第一个结点的存储位置。
头结点:在单链表的第一个结点之前附加一个结点,称为头结点。头结点的Data域可以不设任何信息,也可以记录表长等相关信息。若链表是带有头结点的,则头指针指向头结点的存储位置。
无论是否有头结点,头指针始终指向链表的第一个结点。如果有头结点,头指针就指向头结点(只不过头结点的数据域为空而已)。
二、使用步骤
代码如下(示例):
//不带头结点的链表,在表头插入节点
x->next=head;
head=x;
//不带头结点的链表,在表头以外的地方插入结点
x->next=p->next;
p->nexy=x;
//带头结点的链表,在第一个位置插入节点
x->next=p->next;
p->nexy=x;
//带头结点的链表在其他位置插入节点
x->next=p->next;
p->nexy=x;
总结
这时你会发现不带头结点的两种情况操作步骤不一样,而带头结点的两种情况步骤是一样的。所以带头结点的单链表插入更简单,更有健壮性。当然你会问为什么要区分,我们两种都会的化可以根据实践要求来选择合适的一种使用。
参考文章:https://blog.csdn.net/qq_41623154/article/details/105617047