单链表数据结构.ppt
《单链表数据结构.ppt》由会员分享,可在线阅读,更多相关《单链表数据结构.ppt(36页珍藏版)》请在课桌文档上搜索。
1、第二章 线性表,单链表(Singly linked list),线性表 单链表,单链表定义与特点单链表的C语言描述单链表基本形态单链表基本操作实现单链表的运用,一、单链表的定义与特点,定义特点,一组数据项的集合,其中每个数据项都是一个结点的一部分,每个结点都包含指向下一个结点的链接(即指针)。,1.数据元素在“逻辑关系上的相邻”用“指针”来表示。2.单链表 中访问数据元素时需从头开始“顺序访问”。3.比顺序表的优势在于,提供高效地重排数据项的能力。,L,结点,链接项(指针域)每个链接项只链接其后一个结点,数据项(域),二、单链表的C语言描述,typedef struct LNode ElemT
2、ype data;/数据域 struct LNode*next;/指针域 LNode,*LinkList;,LinkList L;/L为单链表的头指针,头指针指向单链表中的第一个结点,用结构体表示结点,结点是由数据项和链接组成的,链接用指针表示,用于指向下一个结点。,类型定义,实例声明,三、单链表的基本形态,空表非空表,为了操作方便,在第一个结点之前虚加一个“头结点”,L,L-next=NULL;,不允许删除操作,L,可以进行插入、删除操作,哑元结点不存储数据项,头结点,四、单链表基本操作,初始化操作(initialize)查找操作(locate/find)插入新元素操作(insert)删除元
3、素操作(delete)清空操作(clear)销毁操作(destroy)其它操作,4.1 初始化操作,Stutas InitList(LinkList,需要预先创建头结点,j,1,2,3,4.2 查找操作,(1)查找指定位序的数据元素;(2)数据元素值匹配查找。,演示例子:取单链表中第3个元素值,找到!,4.2 查找操作,单链表是一种“顺序访问”的结构,为找第 i 个数据元素,必须先找到第(i-1)个数据元素。,1.指针p始终指向单链表中第j个结点;2.移动指针,比较 j 和 i,相等则找到。,Status GetElem_L(LinkList L,int i,ElemType/GetElem_
4、L,算法时间复杂度为:O(ListLength(L),与顺序表相比,链表不适合于查找第i个元素的操作。,按结点位序(位置序号)查找,LNode*GetElem_L(LinkList L,ElemType e)/查找第一个元素值为 e 的结点,返回其结点指针 p=L-next;/p指向第一个结点/顺指针向后查找,直到找到匹配项或 p 为空 while(p)if(p-data=e)/找到,元素值匹配值 return p;/返回结点指针 p=p-next;return NULL;/无匹配项,返回空指针/GetElem_L,算法时间复杂度为:O(ListLength(L),按数据元素值匹配查找,4.3
5、 插入新元素操作,在单链表中的第i个元素前插入元素e。,单链表中:,有序对 改变为 和,在单链表中插入结点只需要修改指针。若要在第 i 个结点之前插入元素,修改的是第(i-1)个结点的指针。,Status ListInsert_L(LinkList/LinstInsert_L,算法的时间复杂度为:O(ListLength(L),s,p,查找,插入,有序对 和 改变为,ai,4.4 删除元素操作,从单链表中删除第i个元素。,在单链表中删除第 i 个结点时,要找到单链表中第(i-1)个结点,修改其指向后继的指针。,ai,q=p-next;p-next=q-next;e=q-data;free(q)
6、;,p,q,Status ListDelete_L(LinkList/删除位置不合理/ListDelete_L,算法的时间复杂度为:O(ListLength(L),查找,删除,4.5 清空操作,5、清空,while(L-next)p=L-next;/p指向当前结点 L-next=p-next;/头结点指向当前结点的后结点 free(p);/释放当前结点内存/清空完成后,仍保留头结点L,算法的时间复杂度为:O(ListLength(L),4.6 销毁操作,6、销毁,while(L)p=L-next;/p指向第一结点(头节点为“哑结点”)free(L);/释放首结点 L=p;/L指向p/销毁完成后
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单链表 数据结构
链接地址:https://www.desk33.com/p-229122.html