- 1、本文档共57页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
*插入和删除的过程都必须保持表中元素的逻辑关系一致!所以都只有依次移动表中元素。插入特例:I=n+1;删除特例:I=n*****存储链表中的数据元素除了存储数据元素的值以外还需要存储一个指示其后继的信息(指针域,对单链表而言)第一个结点无前趋,因而应设一个头指针H指向第一个结点*单链表可以由头指针唯一确定,在C语言中可以由“结构指针”来描述带头结点的链表判空的条件为:L.next=null***最后一个P30算法2.11空链表的生成!!*自己完成有序链表的合并**s[0].cur表示第一个结点在数组中的位置用i=s[i].cur代替指针后移的操作与链表实现不同的是,静态链表没有malloc和free函数,需要用户自己定义这两个函数*循环链表的合并(稍后的习题讲)**循环单链表能够实现从任一结点出发沿着链能找到其后继结点,但寻找前驱比较麻烦,如果希望从表中快速确定某一个结点的前驱,另一个解决方法就是在单链表的每个结点里再增加一个指向其前驱的指针域。这样形成的链表中就有两条方向不同的链,P35 双向链表的C语言描述*双向链表的两个指针域方便实现表的某些操作,但插入和删除的操作上与单链表略有不同做的前插,所以有个语句顺序的问题*写一个链表算法程序上机予以练习*它实际上可以由n+1个系数唯一确定*数据域有两个,一个是系数、一个是指数A(x)=7+3x+9x8+5x17的表示*算法2.23书上P43*合并循环链表4)单链表的生成输入一:an、an-1、…a2、a1输入二:a1、a2、…an-1、an流程图如何画?思考求一个单链表的表长算法在一个单链表中查找某个值的算法在L表的表尾插入S表,合成一个新表L合并有序链表的方法和复杂度的分析合并有序链表的方法与顺序表相比,时间复杂度相同,空间复杂度不同,归并成新表时不需要建立新的结点空间,只需将原来链表结点之间的关系解除、建立新的结点链接即可。(顺序表借助了数组来完成)静态链表链表有时可以不用指针来表示,而使用一维数组来描述#definemaxsize1000//事先分配空间Typedefstruct{Elemtypedata;intcur;//游标代替指针指示结点在数组中的相对位置}这种结构需要事先分配空间,在做插入和删除等操作时不需要移动元素,只需修改指针(整数cur)的值0WANG8ZHENG7WU6ZHOU5LI4SUN3QIAN2ZHAO19876543210头结点5SHI0WANG8ZHENG7WU6ZHOU9LI4SUN3QIAN2ZHAO198765432105SHI0WANG8ZHENG8WU6ZHOU9LI4SUN3QIAN2ZHAO19876543210i=s[i].cur指针后移s[0].cur第i个分量表示链表的第k个结点,则s[i].cur指示第k+1个结点的位置插入元素SHI删除元素ZHENG相关操作1.访问静态链表中第i个元素(i为逻辑顺序)设p表示数组下标值的整型量,AA为静态数组2.在第i个元素之前插入元素x思考静态链表的删除操作应该怎么做?如何维护备用链表?6SHI0WANG9ZHENG8WU0ZHOU3LI5SUN4QIAN2ZHAO19876543210BK6SHI0WANG9ZHENG8WU0ZHOU5LI7SUN4QIAN2ZHAO19876543210BK2.3.2循环链表特点:表中最后一个结点的指针域指向头结点,整个链表形成一个环;从表中任一结点出发都可以找到表中其他结点。…LL循环结束条件不是P或P-next是否为空,而是P-next=L循环链表的访问操作已知L,访问头节点之后的第i个元素思考若已知L和p,如何访问p节点之后的第i个元素?若已知L和p,如何在p节点之前插入元素x?删除节点p1)表中只有一个元素LHp布尔条件:L.next=p并且p.next=L实施方法:L.next=L; dispos(p); 2)表中至少有两个元素,而p是最后一个元素…Lpq方法:将q的数据传至p节点,然后再
您可能关注的文档
- 《软件系统开发技术》课件第6章.ppt
- 《数据结构》课件第五章.ppt
- 《中文版AutoCAD精编基础教程》课件第4章.ppt
- 《现代密码学原理与实践》课件第3章.ppt
- 《可编程程序控制器应用技术》课件项目三.ppt
- 《液压与气压传动》课件第6章 液压传动基本回路.ppt
- 《数字图像处理》课件1第4章.ppt
- 《数据结构》课件第六章.ppt
- 《数据结构》课件第5章 (2).ppt
- 《模式识别原理与应用》课件第4章.ppt
- 1.1细胞是生命活动的基本单位课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 1.2细胞的多样性和统一性第1课时课件-2024-2025学年高一上学期生物人教版必修1.pptx
- 第16课《白杨礼赞》课件-2025-2026学年统编版语文八年级上册.pptx
- 2026届高三生物一轮复习课件+减数分裂与生物的遗传、变异.pptx
- 3.1细胞膜的结构和功能第2课时课件-2025-2026学年高一上学期生物人教版必修1.pptx
- 2025届高三生物一轮复习课件2.1减数分裂和受精作用.ppt
- 中考语文二轮专题复习课件:新闻概括题.pptx
- 第6课《我看》课件+++2025-2026学年统编版语文九年级上册.pptx
- 第21课《人民英雄永存不朽》课件-2025-2026学年统编版语文八年级上册.pptx
- 2025年广西河池罗城特聘农机技术指导员的(1人)考前自测高频考点模拟试题含答案详解(b卷).docx
文档评论(0)