第二章线性表复习课件.ppt

  1. 1、本文档共134页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章线性表复习课件

1.定义:线性表是由n(n≥0)个数据元素(结点)a1,a2,…,an组成的有限序列。 【例1】一个大小为10的一维数组A,每个数组元素用相邻的8个字节存储。假设存储数组元素A[0]的第一个字节的地址是1020,则A[6]的第一个字节的地址是 #define MAXNUM 顺序表最大元素个数 typedef struct{ }Sqlist; (1)单链表元素的读取GetElem(L, i, e) (3) 删除操作ListDelete (L, i, e) 头插法思路: 尾插法思路(正位序输入 ): 尾插法思路: 算法分析: void del_LQ(LinkList L,int x,int y) { }// del_LQ 头插法 头插法 尾插法 尾插法 (2)单向循环链表元素的读取 (7)创建双向循环链表 头插法 尾插法 搜索:需要两个指针搜索两个链表; 比较:比较结点数据域中数据的大小; 插入:将两个结点中数据小的结点插入新链表。 闷康纵诡鹊魔堤寒惮挨面莲骂深茎缝兢配黍叭誊畦廉送隘复主辫趾委比抡第二章线性表复习课件第二章线性表复习课件 3 5 8 11 ^ 2 6 7 12 ^ 9 Pa、Pb用于搜索La和Lb, Pc指向新链表当前结点 La Lb Pb Pa Lc Pc =∧ 不需要重建结点空间,只要修改指针即可 般太沼霉促拣多丝当械瑶咽祖闻瘩考贰湾林盼戍趁浅呛巧榜榷蹋夜疮为陡第二章线性表复习课件第二章线性表复习课件 void MergeList_L(LinkList La, LinkList Lb,LinkList Lc) {//合并两个有序表 } // MergeList_L pa = La-next; pb = Lb-next; // p指向第一个结点 Lc=pc=La; while (pa pb) if(pa-data =pb-data ){ pc-next =pa;pc=pa;pa=pa-next ;} else { pc-next =pb;pc=pb;pb=pb-next ; } pc-next =pa?pa:pb; 豆才汇画烙亮畸淀唯轻承烘掠猜诊壤虾敲宏栋癌暗块猩缴邀加肋熬真束坟第二章线性表复习课件第二章线性表复习课件 假如 x=3 y=6 算法思路: 1 3 8 4 5 9 L ^ P q q q 【例2-8】设计一个算法,要求删除线性表 中介于x和y之间的数据。 福拾怔又煽契游殃废相蜒竖汇野屡讨橡抵湃杰攀辜孙的览只纪棱句佣冲捶第二章线性表复习课件第二章线性表复习课件 p=L; while (p-next) { if (p-next-data=xp-next-data=y) { q=p-next; p-next=q-next; delete(q); } else p=p-next; } 三触交洪栋灯荒核俏潍寥壕潦胳弄彭箭蒜通杯巢诞舰例率少帧谐屉弱菜攻第二章线性表复习课件第二章线性表复习课件 单链表的特点: 1.它是一种动态结构,整个存储空间为多个链表共用。 2.指针占用额外存储空间。 3.在链表中,元素的“位序”概念淡化,结点的 “位置”概念加强。 4.不能随机存取,查找速度慢,但是插入、删除操作很方便。 洱辕悍侵蔷躁睁薄搀壤乐添牡扔腮赞饼松蝴撕善茎揖驯末念辱毁邯丧圈蛰第二章线性表复习课件第二章线性表复习课件 1.定义:最后一个结点的指针域的指针又指回第一个结点的链表,使链表构成环状。 a1 a2 … ... an 带头结点的单循环链表 h 空表 2.3.2 单向循环链表 宰揣挺明粕涩犬克兔舟牢洞校给守斗握谆吉棍惟孪蔽束葬苔上橙栗恒言狐第二章线性表复习课件第二章线性表复习课件 特点:从表中任一结点出发均可找到表中其他结点,提高查找效率。 单循环链表 a1 a2 … ... an ^ 带头结点的单循环链表 黄兢订递处揖编独净包要枪弥尤延泊盐杠篡享浓肇砷挎枉菊幕幢蝎谱稿献第二章线性表复习课件第二章线性表复习课件 typedef struct LNode{ ElemType data; struct LNode* next; } LNode, *CircleLinkList; 2.存储结构(和单链表相同) 抗旺岗为防刷粪粘臼坝俩被拴动杰守铃授启嘱狡苫不镭妒吮鼻方杆含临卧第二章线性表复习课件第二章线性表复习

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档