- 1、本文档共117页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ch02 Linear lists
* 小结 单链表上的删除运算(删除第i个元素) ③ p ① q ② 基本操作对应语句: ① p = L; k = 0; while (p k i-1) { p = p-next; ++ k; } ② q = p-next; ③ p-next = q-next; ④ e = q-data; free(q); 特别注意: 修改指针的语句次序一定要小心处理,否则会出现意想不到的错误。 a1 … ai an ^ … L ai-1 ai+1 ai ④ * 小结 单链表的建立方法 表头插入法建立单链表:元素输入次序的逆序 表尾插入法建立单链表:与元素输入次序一致 带头结点的单链表的优点 对空表和非空表的处理是统一的 对第一个元素结点的指针操作与表中其它元素结点的指针操作是一致的 循环单链表的优点 简化链表的某些操作 * 2.3.2 循环单链表和双向链表 双向链表的结点结构: Data next prior 双向链表的C语言描述: typedef struct DuLNode{ ElemType data; struct DuLNode *prior; struct DuLNode *next; } DuLNode, *DulinkList; 双向链表 线性表:(a1,a2,…,ai,…,an) head a1 ∧ a2 an-1 an ai … ∧ 双向链表示意图 … * head ∧ ai-1 ai+1 an ai … ∧ … a1 2.3.2 循环单链表和双向链表 双向链表上的插入操作(将元素e插入到链表的第i个结点前) 基本步骤: (1) 定位指针p指向结点ai-1 ; p e s (2) 建立新结点s并赋e ; (3) 修改s的next指针域指向p下一结点:s-next = p-next; (5) 修改p的next指针域指向s结点:p-next = s; (6) 修改s下一结点的prior指针域指向s:s-next-prior = s; (4) 修改s的prior指针域指向p结点:s-prior = p; 问题:①修改指针的步骤是否可随意?②不带头结点? * 2.3.2 循环单链表和双向链表 双向链表上的删除操作(删除第i个结点) head ∧ ai-1 ai+1 an ai … ∧ … a1 ∧ 基本步骤: (1) 定位指针p指向结点ai; p (2) 修改p的前一结点的next指针域指向p下一结点: p-prior-next = p-next; (3) 修改p的下一结点的prior指针域指向p前一结点: p -next -prior = p-prior; (3) 释放结点p。 * 2.3.2 循环单链表和双向链表 双向链表上的删除操作(删除第i个结点) p 基本步骤: (1) 定位指针p指向结点ai; (2) 修改p的前一结点的next指针域指向p下一结点: p-prior-next = p-next; (3) 修改p的下一结点的prior指针域指向p前一结点: p -next -prior= p-prior; (4) 释放结点p。 head ∧ ai-1 ai+1 an … ∧ … a1 ∧ * 2.3.2 循环单链表和双向链表 双向循环链表 head 带头结点的空双向循环链表 head ^ a1 an-1 an ai … ^ … 带头结点的非空双向循环链表 * 2.4 一元多项式的表示及相加 一元多项式的形式: A(x) = p0+p1x+p2x2+ … +pixi+ … + pnxn 存储形式 (a) 顺序存储pi p0 p1 ... p2 pn ... pi … … Head (b) 单链表方式存储pi p0 p1 pi pn ^ 问题:各存储方式的优缺点和使用场合? Head (c) 单链表方式存储pi和 i p1 1 p2 2 … pi i … pn ^ n * 2.4 一元多项式的表示及相加 例 A(x) = 7 + 3x + 9x8 + 5x17 - 8x100 B(x) = 8x + 22x7 - 9x8 C(x) = A(x)+ B(x) = 7 + 11x + 22x7 + 5x17- 8x100 存储方式的选择--以单链表存储多项式系数和指数 + headA 7 0 3 1 9 8 5 17 -8 ^ 100 headB 8 1 22 7 -9 ^ 8 //-------
您可能关注的文档
- 8论文模板图解版.doc
- 9.2 solid-state lasers and semicondutcor lasers.ppt
- 9.2.2反比例函数的图象与性质.ppt
- 905九年英语5单元试卷.doc
- 95-2双向恒温磁力加热搅拌器.doc
- 9E Turning Gear Failure.docx
- 9s12xs128中文资料.doc
- 96隧道灯规格书.doc
- 904 九上第四课.ppt
- 9-细胞骨架.ppt
- 高中英语“读-写-译”句式集萃教案.pdf
- 小学作文教学方法一(如何写人).pdf
- “学写连续观察日记”教学设计及设计意图.pdf
- 护理研究--护理论文书写格式、要求等课件.pdf
- 怎样写新闻消息.pdf
- 2025年乡镇民主生活会讲话提纲+民主生活会前专题学习体会发言稿.docx
- 2025年领导班子民主生活会会后综合情况报告+妇联上年度民主生活会整改落实情况的报告.docx
- 2025年局长、党员、组织部干部科科长围绕带头严守政治纪律和政治规矩,维护党的团结统一方面;带头增强党性、严守纪律、砥砺作风方面四个带头组织生活会个人对照.docx
- 2025r年3月组织生活会个人对照剖析(围绕带头严守政治纪律和政治规矩,维护党的团结统一方面;带头增强党性、严守纪律、砥砺作风方面;带头在遵规守纪、清正廉洁前提下勇于担责、敢于创新方面;带头履行全面从严治党政治责任四个带头方面存在问题、问题分析及整改措施).docx
- 集团党委书记参加所在支部组织生活会上的讲话提纲+乡镇2024年民主生活会讲话提纲.docx
最近下载
- 北师版 六年级 数学 下册 第三单元 图形的运动《第1课时 图形的旋转(一)》课件.pptx VIP
- 顾客消费能力开发.pptx
- 《园林建筑设计》期末考试试卷(一)答案.docx VIP
- 2025年苏州工业职业技术学院单招职业适应性测试题库(名校卷).docx VIP
- 2024天猫脱毛仪行业人群洞察白皮书.pptx
- 人教PEP版英语三年级下册Unit 2 Expressing yourself Part A Let's spell 课件(共17张PPT).pptx VIP
- 2024年江西农业工程职业学院单招职业技能测试题库学生专用.docx VIP
- 高考英语600个高频词汇(干货).pdf
- 人生(电影文学剧本).pdf
- 2024年江西生物科技职业学院单招职业技能测试题库【word】.docx VIP
文档评论(0)