- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二章 线性表 if (ai=bj) {ListInsert(Lc,++k,ai);++i;} Else {ListInsert(Lc,++k,bj);++j} } while(i=La_len){ GetElem(La,i++,ai); ListInsert(Lc,++k,ai); } while(i=Lb_len){ GetElem(Lb,j++,bj); ListInsert(Lc,++k,bj); } }//MergeList 例2-4:线性表的插入操作。 Status ListInsert_Sq(SqList L,int i ,ElemType e){ // If (i1 || iL.length+1) return ERROR; // i值不合法 If (L.length=L.listsize) { //当前存储空间已满,增加分配 newbase=(ElemType*) realloc (L.elem,(L.listsize+LISTINCREMENT)*sizeof(ElemType)); L.elem=newbase; // 新基址 L.listsize+=LISTINCREMENT; // 增加存储容量} q=(L.elem[i-1]; // q为插入位置 for (p=(L.elem[L.length-1]); p=q; --p)*(p+1)=*p; // 插入位置及之后的元素右移 *q=e; //插入e ++l.length; // 表长增1 return Ok; If (!newbase)exit(OVERFLOW); // 存储分配失败 } // ListInsert_sq 例2-5:线性表的删除操作。在线性表的第i-1数据元素和第i+1个数据元素之间删除一个数据元素,将(a1,…,ai-1, ai, aI+1,…,an) 变为(a1,…,ai-1,aI+1,…,an),数据元素ai-1,aI+1之间的逻辑关系发生了变化,通过移动元素来反映该逻辑关系的变化。 Status ListInsert_Sq(SqList L,int i ,ElemType e){ // If (i1 || iL.length) return ERROR; // i值不合法 p=(L.elem[i-1]; // p为被删除元素的位置 e=*p; //被删除的元素的值赋给e q=L.elem+L.length-1; //表尾元素的位置 for (++p; p=q; ++p)*(p-1)=*p; // 插入位置及之后的元素右移 --l.length; // 表长减1 return Ok; } // ListInsert_sq 例2-6:在顺序线性表L中查找第1个值与e满足compare()的元素的位序,若找到,返回其在L中的位序,否则返回0。 int LocateElem_Sq(Sqlist L,ElemType e,Status (*compare)(ElemType,ElemType)) { i=1; // 的初值为第1 个元素的位序 p=L.elem; // 的初值为第1 个元素的存储位置 while (i=L.length !(*compare))*p++,e))++i; if (i=L.length) return i; else reture 0; } // LocateElem_Sq 例2-7:将顺序线性表LA、LB合并得到LC,元素均按值非递减排列。 Void MergeList_Sq(SqList La,SqList Lb,SqList Lc) { pa=La.elem; pb=Lb.elem; Lc.listsize=Lc.length= La. Length+ Lb length; pc=Lc.elem=(ElemType*)malloc(Lc.listsize*sizeof(ElemType)); if (!Lc.elem)exit(OVERFLOW); //存储分配失败 pa_last=La.elem+La.length-1; pb_last=Lb.elem+Lb.length-1; While (pa=pa_last pb=pb_last){ // 归并 if (*pa=*pb) *pc++=*pa++; Else *pc++=*pb++; } While (pa=pa_last) *pc++=*pa++; // 插入La的剩余元素 While (pb=pb_last) *pc++=*pb
您可能关注的文档
- 云南师范大学信息学院数据结构课件第3章 栈和队列(2).ppt
- 云南师范大学信息学院数据结构课件第4章 串.ppt
- 云南师范大学信息学院数据结构课件第5章 数组和广义.ppt
- 云南师范大学信息学院数据结构课件第8章 查找.ppt
- 云南师范大学信息学院数据结构课件第9章 排序.ppt
- 云南中医学院正常人体解剖学课件第九章第六节 自主神经系统.ppt
- 云南中医学院正常人体解剖学课件第九章第七节 脑和脊髓被膜、脑室和脑脊液.ppt
- 云南中医学院正常人体解剖学课件第九章第三节 脑干和脑神经.ppt
- 云南中医学院正常人体解剖学课件第九章第四节 小脑、间脑和端脑.ppt
- 云南中医学院正常人体解剖学课件第九章第一节  神经系统概述.ppt
- 长春理工大学计算机科学技术学院数据结构与算法课件 第九章.ppt
- 长春理工大学计算机科学技术学院数据结构与算法课件 第六章.ppt
- 长春理工大学计算机科学技术学院数据结构与算法课件 第七章.ppt
- 长春理工大学计算机科学技术学院数据结构与算法课件 第三章.ppt
- 长春理工大学计算机科学技术学院数据结构与算法课件 第十章.ppt
- 长春理工大学计算机科学技术学院数据结构与算法课件 第四章.ppt
- 长春理工大学计算机科学技术学院数据结构与算法课件 第五章.ppt
- 长春理工大学计算机科学技术学院数据结构与算法课件 第一章.ppt
- 长春理工大学计算机应用基础课件:第1章 计算机基础知识.0..ppt
- 长春理工大学计算机应用基础课件:第2章 程序设计基础与算法.0..ppt
最近下载
- 垫付协议书范文.docx VIP
- 四年级上第2单元第5课《了解家乡美丽的风景——数据收集工具》课件(内嵌视频+音频).pptx VIP
- 高思学校竞赛数学导引·三年级(详解升级版).pdf VIP
- 中药新药制备工艺研究的思路与方法.docx VIP
- 我国人工智能的发展历程.pptx VIP
- 乳腺癌重建术的护理.pptx
- 小学五年级民间故事10篇.pdf VIP
- 原嘉兴高联丝绸印染有限公司疑似污染地块土壤污染状况初步调查报告.pdf VIP
- 新解读《GB_T 39107-2020消费品中可挥发性有机物含量的测定 静态顶空进样法》.docx VIP
- 腰椎间盘突出症的中医护理PPT模板.pptx VIP
文档评论(0)