- 1、本文档共103页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构建--线性表
2. 3. 1 线性链表 插入操作主要步骤:1)查找链表L的第 i-1个元素结点;2)为新元素建立结点;3)修改第 i-1个元素结点的指针和新元素结点指针完成插入; 插入操作演示 用鼠标单击 图中的绿字 2. 3. 1 线性链表 插入操作算法:Status ListInsert_L(LinkList L, int i, ElemType e){ //在带头结点的线性链表L中第I元素结点之前插入元素e p=L; j=0 while (pji-1){p=p-next; ++j;}//寻找第i-1个元素结点 if(!p||j.j-1)return ERROR; // i小于1或者大于表长 s=(LinkList)malloc(sizeof(LNode));// 分配新结点 s-data=e; s-next=p-next; p-next=s; //插入新结点 return OK; }//LinstInsert_L 算法 2.9 4 删除操作 ListDelete_L(LinkList L, int i, ElemType e) 功能:在线性链表L中删除第i个元素,并且用e 返回其值 删除操作图示: 2. 3. 1 线性链表 删除前 删除后 ai-1 ai a2 a1 ai+1 n an L ai-1 ai a2 a1 ai+1 n an L 2. 3. 1 线性链表 删除操作主要步骤: 1)查找链表的第 i-1个元素结点;2)修改第 i-1个元素结点指针,删除第i个元素结点;3) 将第i个元素结点中的数据元素赋值给e;4)回收被删除结点空间; 删除操作演示 用鼠标单击 图中的绿字 2. 3. 1 线性链表 删除操作算法: Status ListDelete_L(LinkList L, int i, ElemType e){ //在带头结点的单链线性表L中,删除第i个元素,并由e返回其值 p=L; j=0; while (p-nextji-1){ //寻找第i个结点,并令p指向其前趋 p=p-next; ++j; } if(!p-next)||ji-1)return ERROR; // 表中无第i个结点(i不合法) q=p-next;p-next=q-next; //删除结点 e =q-data; free(q); // 回收(释放)结点空间 return OK; }//LinstDelete_L 算法: 2.10 第二章 习题 习题四 P13 2.1, 2.2, 2.3, 2.14, 2.17 2.3.1 线性链表? 四、线性链表的其他操作 例:将两个有序线性链表归并成一个有序表。 设线性表A、B分别用头指针为La 、 Lb 的两个带头结点的线性链表存储,且两线性链表中元素按非递减顺序排列,编写算法,将La 、 Lb归并得到线性链表Lc, Lc中的元素也按值非递减顺序排列。(注意:线性链表Lc中的结点利用原La,Lb的结点)实现上述功能的算法有很多,我们采用第三种。1)将Lb并入La;2)将La并入Lb;3)将La,Lb并入Lc; 基本思想:设两个指针pa,pb分别对La,Lb进行扫描,在扫描过程中按 pa,pb所指结点的大小,将其插入到Lc的表尾。 算法演示 La Lb pa pb pc Lc 2 2 3 4 3 3 1 ^ ^ 2.3.1 线性链表 线性链表归并操作算法(直接对链表进行操作) void MergeList_L(LinkList La, LinkList Lb, LinkList Lc) {//已知单链线性表La和Lb的元素按值非递减排列//归并La和Lb得到新的单链线性表Lc,Lc的元素也按值非递减排列。pa=La-next; pb=Lb-next;Lc=pc=La; //用La的头结点作为Lc的头结点while(pa pb){If (pa-data=pb-data) {pc-next=pa;pc=pa;pa=pa-next;}
您可能关注的文档
- 示范教学查瓶房copd.ppt
- 世界500强人力资源水管理--绩效管理培训教程课件.ppt
- 世纪天使推一动分享.ppt
- 世界工业设计梨史第六章1.ppt
- 世界工业切设计史第四章1.ppt
- 世界工业设计罗史第五章1.ppt
- 世博地铁媒百体攻略.ppt
- 世界工业设计史第快五章2.ppt
- 世界工业设计史第桃二章1.ppt
- 世界工业设计史第鹏二章3.ppt
- 2023咸阳职业技术学院招聘笔试真题参考答案详解.docx
- 2023四川化工职业技术学院招聘笔试真题及参考答案详解.docx
- 2023哈尔滨职业技术学院招聘笔试真题及参考答案详解.docx
- 2023商洛职业技术学院招聘笔试真题及答案详解1套.docx
- 2023呼伦贝尔职业技术学院招聘笔试真题参考答案详解.docx
- 2023南阳农业职业学院招聘笔试真题参考答案详解.docx
- 2023天津公安警官职业学院招聘笔试真题带答案详解.docx
- 2023年上海电机学院招聘笔试真题参考答案详解.docx
- 2023年四川艺术职业学院招聘笔试真题参考答案详解.docx
- 2023安徽体育运动职业技术学院招聘笔试真题及答案详解一套.docx
最近下载
- 中医内科学课件:胃痛.ppt
- 广州市海绵城市建设技术指引及标准图集(试行).pdf
- 基于SpringBoot技术的论坛系统设计与实现.docx
- 本科毕业设计—110kv变电站电气一次部分设计 发电厂课程设计报告.doc VIP
- 世界甲状腺日甲状腺健康科普PPT.pptx VIP
- 电力线路维保服务投标方案(技术方案).pdf VIP
- 2024-2025学年中职思想政治中国特色社会主义高教版(2023)教学设计合集.docx
- 第32课《让思维活跃起来》课件2024北师大版心理健康七年级下册 .ppt
- 山东省(烟台市、德州市)2025届高三高考适应性测试化学试题及答案.docx VIP
- 黑龙江高职高专:畜牧兽医专业建设方案.doc
文档评论(0)