- 线性表的链式存储是用结点来存储数据元素,基本结点的结构为
数据域 | 指针域 |
---|---|
其中,数据域用于存放存储数据元素的值,指针域存储当前元素的直接前驱或者直接后继的位置信息,指针域中的信息称为指针(或链)。
设线性表中的元素是整形,则单链表节点类型的定义为:
1 | typedef struct Node |
- 在链式存储结构下进行插入
在单链表中p
所指结点后插入新元素结点s
(s
所指结点已生成),基本步骤如下:
1 | s->next=p->next; |
即先将p
所指结点的后继结点指针赋给s
所指的结点的指针域,然后将p
所指的结点的指针域修改为s
所指的结点
- 在链式存储结构下进行删除
在单链表中删除p
结点所指结点的后继结点,基本步骤如下:1
2
3s=p->next;
p->next=s->next; /*或者p->next=p->next->next;*/
free(s);
先令临时指针s
指向待删除的结点,然后修改p
所指结点的指针域为指向p
所指结点的后继的后继结点,从而将待删除结点从链表中删除,最后释放s
所指的结点的空间
- 单链表的创建、输出、查询、插入、删除运算的实现过程
1 |
|