- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构-chapter2
线性结构 第2章 线性表 2.1 线性表的类型定义 2.1 线性表的类型定义 2.1 线性表的类型定义 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 线性表的顺序表示和实现 2.2 小节 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 例:用单链表结构来存放26个英文字母组成的线性 表(a,b,c,…,z),请写出C语言程序。 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 思路:要读取第i个数据元素,必须从头指针起一直找到该 结点的指针p 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.3 线性表的链式表示和实现 2.4 一元多项式的表示及相加 2.4 一元多项式的表示及相加 2.4 一元多项式的表示及相加 第2章 小结 第2章 小结 第2章 线性表 练习 练习 练习 作业 在单链表中删除第i个元素的示意图如下: p ai+1 ai-1 ai 删除动作的核心语句(要借助辅助指针变量q): q = p-next; //首先保存ai的指针; p-next=q-next; //将ai-1、ai+1两结点相连,淘汰ai结点; free(q) ; //彻底释放ai结点空间 p-next (p-next) - next × × q (4)单链表的删除 (三)应用举例 已知:线性表A和B,分别由单链表La和Lb存储,其中数据 元素按值非递减有序排列(即已经有序); 例:两个链表的归并(教材P31例) 重点是链表 要求:将A和B归并为一个新的线性表C , C的数据元素仍按 值非递减排列。设线性表C由单链表 Lc 存储。 假设:A=(3,5,8,11),B=(2,6,8,9,11) 预测:合并后的C =(2, 3, 5, 6, 8, 8, 9, 11,11) 链表示意图: 合并 算法设计: 算法主要包括搜索、比较、插入三个操作: 搜索:需要设立三个指针来指向La 、Lb和Lc链表; 比较:比较La和Lb表中结点数据的大小; 插入:将La和Lb表中数据较小的结点插入新链表Lc 。 3 5 8 11 ^ La Lb 2 6 8 11 ^ 9 Lc 2 3 5 6 8 8 9 11 11 ^ Pc Pa、Pb用于搜索La和Lb,Pc指向新链表Lc的当前结点。 链表Lc存储在新开辟的空间中,归并过程示意如下: Lb 2 6 8 11 ^ 9 3 5 8 11 ^ La Lc 2 3 5 Pa 6 Pb 8 Pc Pb Pc Pa Pa Pc Pc Pb Pc Pa Pb Pa、Pb用于搜索La和Lb,Pc指向新链表Lc的当前结点。 链表Lc利用当前空间进行存储,归并过程示意如下: Lc=Pc Lb 2 6 8 11 ^ 9 3 5 8 11 ^ La Pa Pb X Pc X Pb Pc Pa Pc Pa Pc Pb X Pc X Pa Pc Pb X Pc Pb Pc X 算法实现: Void MergeList_L(LinkList La,LinkList Lb,LinkList Lc) { free(Lb); //释放Lb的头结点 } pc-next = pa ? pa: pb ; //插入非空表的剩余段 while(papb) //将pa 、pb结点按大小依次插入Lc中 { if(pa-data=pb-data) {pc-next=pa; pc=pa; pa=pa-n
您可能关注的文档
- 推盘策略之产品细分.ppt
- 推销与网络营销实务.doc
- 推荐四个人所得税.ppt
- 提升学生爱的能力.ppt
- 提升智力的婴幼儿早教方法.pptx
- 控制部DCS仿真室建立与运用 - 副本.ppt
- 提升法律素养,预防违法犯罪.ppt
- 拼音小学语文一上《汉语拼音8zhchshr》.ppt
- 提升员工的责任心.ppt
- 提升设备的运转理论.ppt
- 2025年特级白色木器装饰漆项目市场调查研究报告.docx
- 2025年不锈钢防护罩项目市场调查研究报告.docx
- 2025年水族箱项目市场调查研究报告.docx
- 2025年中国工矿低压配电器项目投资可行性研究报告.docx
- 2025年熟化中猪料项目市场调查研究报告.docx
- 2025至2030年中国保安监控产品行业发展研究报告.docx
- 2025至2030年中国卡拉OK家庭影院行业发展研究报告.docx
- 2025至2030年中国多路精密微电信号测量仪行业发展研究报告.docx
- 2024年02月[浙江]2024年广发银行宁波分行校园招考笔试历年参考题库附带答案详解.docx
- 2024年02月[浙江]浙江民泰商业银行总行民泰学院招考笔试历年参考题库附带答案详解.docx
文档评论(0)