版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、,首页,学到现在,入门了吗?,学习内容越来越难了,教案,主要内容,顺序线性表的插入和删除操作 顺序线性表中元素的插入 顺序线性表中元素的删除 有序顺序表中元素的插入 顺序存储结构的优缺点 顺序线性表的查找 与查找有关的基本概念 顺序线性表中查找的实现,顺序线性表中元素的插入,插入操作 在顺序线性表的第i1个数据元素和第i个数据元素之间插入一个新的数据元素x,使长度为的顺序线性表(a0, , ai-1, ai, , an-1)变成长度为+1的顺序线性表(a0, , ai-1, x, ai, , an-1)。 具体做法 应先把元素ai,an-1依次向后各自移动一个位置,然后将x插在第i个位置上。,
2、插入操作示意图,在顺序线性表的第i个位置插入一个元素的示意图,插入x,注意发生的变化, 移动多个元素,要用到循环。 哪一个先移?,顺序线性表中元素插入的实现,分析,看源程序(14_1),源程序,流程图, 表是否已满? 插入位置i 是否合法?,运行程序(14_1),返回,顺序线性表中元素的删除,删除操作 删除操作和插入操作类似。删除顺序线性表的第i个元素ai,使长度为的顺序线性表(a0, , ai-1, ai, ai+1, , an-1)变成长度为-1的顺序线性表(a0, , ai-1, ai+1, , an-1)。 具体做法 把元素ai+1, , an-1分别向前移动一个位置即可。,删除操作示
3、意图,删除顺序线性表的第i个元素ai的示意图,注意发生的变化, 移动多个元素,要用到循环。 哪一个先移?,顺序线性表中元素删除的实现,分析,看源程序(14_1),源程序,流程图, 表是否为空? 删除位置i 是否合法?,运行程序(14_1),返回,有序顺序表,定义 元素有序(递增或递减)的顺序线性表。,在有序顺序表中插入元素, 要求在有序顺序表(如递增)中插入一个数据元素,使顺序表仍保持有序(递增) 。 算法的重点是要找到应该插入的位置。 查找插入位置,有两种方法。 方法一:通过循环,从线性表表头元素开始,依次与待插入的数据元素进行比较,直到找到一个数据元素比待插入元素大为止。 方法二:通过循环
4、,从线性表表尾元素开始,依次与待插入的数据元素进行比较,直到找到一个数据元素比待插入元素小为止。,分析,在有序顺序表中插入元素的实现,看源程序(14_2),源程序,方法一的流程图,运行程序(14_2),注意:创建线性表时,要有序。,在有序顺序表中插入元素的实现,看源程序(14_3),源程序,方法二的流程图,运行程序(14_3),注意:创建线性表时,要有序。,返回,顺序存储结构的优缺点,优点 1、逻辑相邻,物理相邻。 2、可随机存取任一元素。 3、存储空间使用紧凑。 缺点 1、插入、删除操作需要移动大量的元素,效率较低。 2、预先分配空间需按最大空间分配,利用不充分。 3、表容量难以扩充。,返回
5、,与查找有关的基本概念,列表:由同一类型的数据元素(或记录)构成的集合。 关键字:数据元素的某个数据项,用它可以标识列表中的一个或一组数据元素。 如果一个关键字可以唯一标识列表中的一个数据元素,则称其为主关键字,否则为次关键字。当数据元素仅有一个数据项时,数据元素的值就是关键字。 查找:根据给定的关键字值,在列表中寻找与给定关键字值相同的数据元素,并返回该数据元素在列表中的位置。 查找的结果:有两种,查找成功和查找失败。 查找时涉及到的三类参量: 查找对象K(找什么); 查找范围L(在哪找); K在L中的位置(查找的结果)。,输出参量,输入参量,查找举例,在学生成绩管理系统中,假设全部学生的成
6、绩可以如下表所示存储在计算机中,表中每一行为一个记录,学生的学号为记录的主关键字。,若给定值为0223801,则可找到学生王丽,查找是成功的。 若给定值为0223912,由于表中没有关键字为0223912的记录,则查找不成功。,查找的方法,查找的方法很多。对于不同结构的查找表,需要采用不同的查找方法。 就大的方向来分,查找方法可以分为静态查找表和动态查找表。 顺序表可采取的查找方法:顺序查找法,即:从顺序表的一端开始,用给定值k逐个顺序地与表中各记录的关键字比较,直到在表中找到某个记录的关键字与k值相等,表明查找成功;否则,若查遍了表中的所有记录却仍未找到与k值相等的关链字,表明查找失败。,查
7、找后,不影响表中的数据,查找后,表中数据会改变,返回,顺序表的存储结构,顺序表中数据的存储结构可描述如下: #define MAXSIZE 100 typedef struct node int key; /* 关键字域 */ /* 其它域 */ Elemtype ; typedef struct sequence Elemtype rMAXSIZE ; /* 数组域 */ int len ; /* 表长域 */ Seq; Seq list;,类型定义,变量定义,顺序表中顺序查找的实现,看源程序(14_4),源程序,流程图,运行程序(14_4),顺序表中顺序查找算法的改进,如果允许在表的最后增设一个虚拟记录(要查找的关键字值放入其中,只要不引起数组r的下标溢出即可)作为循环控制的边界,则算法中的循环控制条件可以减少一个,而得到较快的顺序查找算法。,顺序表中顺序查找的改进算法,看源程序(14_5),源程序,流程图,运行程序(14_5),有序顺序表的顺序查找,看源程序(14_6),源程序,流程图,运行程序(14_6),顺序线
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- (2026版)医院请示报告制度
- 2026北京双高面试题库及答案
- 2025年中国环保收缩膜市场调查研究报告
- 2025年中国灯具遥控器市场调查研究报告
- 2025年中国海员半皮手套市场调查研究报告
- 2025年中国汽车制冷剂回收再生加注中心市场调查研究报告
- 2025年中国平光胶圈市场调查研究报告
- 护理警示:护理沟通的重要性
- 护理求职中的职业适应技巧
- 护理管理进修政策解读汇报
- 储能行业压缩空气储能电站经济性调研报告
- 长租公寓盈利模式与成本结构优化
- 2026年自贡市自流井区社区工作者招聘笔试参考试题及答案解析
- 2026年初级经济师之初级经济师工商管理从业资格考试真题及参考答案详解AB卷
- 雨课堂学堂在线学堂云审计法律研究与案例(西南政法大学)单元测试考核答案
- 2026安徽合肥市发展和改革委员会上半年招聘事业单位工作人员20人考试备考试题及答案解析
- 2026年危险化学品重点县专家指导服务自查表
- 2026年贵州综合评标专家库评标专家考试经典试题及答案
- 2025-2026学年统编版二年级下册小学道德与法治每课教学设计(附目录)
- 2026年1月浙江首考英语真题(原卷版)
- 低压配电箱选型及安装技术标准
评论
0/150
提交评论