ds:带头结点的单链表与不带头结点的单链表区别

发布时间 2023-05-04 22:29:57作者: as阿水

 

写在前边:单链表都有头指针,不一定有头结点;有无头结点的单链表,定义时数据类型都一样,只是初始化时、插入、删除时不同。

 

一、带头结点的单链表

头结点:为方便编写代码而设置的头结点。存储结构:L->头结点->a1->a2->NULL,头结点不存储数据

初始化:malloc申请空间后要L->next = NULL

遍历:第一个元素的值是L->next->data

插入:正常的后插,s = L->next; L->next = s;即可

删除:正常的删除,q = L->next; q->next = L->next; free(q);

 

二、不带头结点的单链表

存储结构:L->a1->a2->NULL

初始化:malloc申请空间后要L= NULL

遍历:第一个元素的值是L->data

插入:s ->next = L; L = s;

删除: