C语言链表简介.ppt

11.7 用指针处理链表 链表是程序设计中一种重要的动态数据结构,它是动态地进行存储分配的一种结构。 链表中结点的定义 链表是由结点构成的, 关键是定义结点; 链表的结点定义打破了先定义再使用的限制,即可以用自己定义自己; 递归函数的定义也违反了先定义再使用; 这是C语言程序设计上的两大特例 链表的基本操作 对链表的基本操作有: (1)创建链表是指,从无到有地建立起一个链表,即往空链表中依次插入若干结点,并保持结点之间的前驱和后继关系。 (2)检索操作是指,按给定的结点索引号或检索条件,查找某个结点。如果找到指定的结点,则称为检索成功;否则,称为检索失败。 (3)插入操作是指,在结点ki-1与ki之间插入一个新的结点k’,使线性表的长度增1,且ki-1与ki的逻辑关系发生如下变化: 插入前,ki-1是ki的前驱,ki是ki-1的后继;插入后,新插入的结点k’成为ki-1的后继、ki的前驱. (4)删除操作是指,删除结点ki,使线性表的长度减1,且ki-1、ki和ki+1之间的逻辑关系发生如下变化: 删除前,ki是ki+1的前驱、ki-1的后继;删除后,ki-1成为ki+1的前驱,ki+1成为ki-1的后继. (5)打印输出 一个指针类型的成员既可指向其它类型的结构体数据,也可以指向自己所在的结构体类型的数据 11.7.2 简单链表 #define NULL 0 stru

文档评论(0)

1亿VIP精品文档

相关文档