- 3
- 0
- 约1.2万字
- 约 52页
- 2019-10-17 发布于湖北
- 举报
Enter n and m: 8 3 Delete person: 3 Delete person: 6 Delete person: 1 Delete person: 5 Delete person: 2 Delete person: 8 Delete person: 4 the result is: 7 运行结果 如果每次m的值都不一样(假设每个人都有一个密码,每次m的值取这一密码),怎么解决? 为节点增加一个数据域,即在节点类中增加一个成员key; 用一个结构体表示一个节点的数据域。 data key link 【思考】 4、双向链表 如果希望能快速找到一个结点的直接前驱,可以在单链表中的结点中增加一个指针域指向它的直接前驱,这样的链表,就称为双向链表(一个结点中含有两个指针)。 在单链表中,从某个结点出发可以直接找到它的直接后继,时间复杂度为O(1) ,但无法直接找到它的直接前驱; 在循环单链表中,从某个结点出发可以直接找到它的直接后继,时间复杂仍为O(1),直接找到它的直接前驱,时间复杂为O(n); left (左链指针) data (数据) right (右链指针) 双向链表是指在前驱和后继方向都能遍历的线性链表。 双向链表中每个结点的结构 前驱方向 后继方向 双向链表通常采用带表头结点的循环链表形式。 a0 … an-1 first 带表头结点的双向循环链表 a b c d e NULL firstNode NULL lastNode 在双向链表中可以方便地访问节点的前驱。 两个指针域:left,right 双向循环链表 a b c d e firstNode 带头节点的双向循环链表 a b c e headerNode d first 带头节点的双向循环空链表 first first-left=first; first-right=first; A B C p-left:A p-right:C p p-left-right:B p-right-left:B p==p-left-right==p-right-left p既被它的前驱结点的右指针所指,又被它的后继结点的左指针所指。 双向链表的重要特征 思考:双向链表的插入、删除操作 A B C × × × × A value s C × × ① ③ ② ④ p p ② ④ ①s-left=p-left; ②s-left-right=s; ③s-right=p; ④p-left=s; 在p之前插入一个节点 删除p所指示的节点 ①p-left-right=p-right; ②p-right-left=p-left; ① ② 5、提示1:注意指针变量的有效性 记得使用new 使用新指针变量,或要生成一个新节点前先执行new操作 不要引用NULL指针 使用指针前,先用if语句(或while循环条件中的语句)判断它非空 不能引用Delete了的指针 提示2:注意链表的边界处理 几个特殊点的处理 头指针处理 非循环链表尾节点的指针域保持为NULL 循环链表尾节点的指针回指头节点 链表处理 空链表的特殊处理 插入或删除节点时指针勾链的顺序 指针移动的正确性 插入 查找或遍历 6、链表 vs. 数组 描述方法 操作 查找 第k个元素 删除 第k个元素 在第k个元素后插入 公式化描述(顺序表) (1) (n-k)s (n-k)s 链表描述(链表) (k) k (k+s) 链表 vs. 数组:线性表实现方法比较 顺序表的主要优点 没有使用指针,不用花费附加开销 链表需要额外空间来存放指针; 线性表元素的访问非常简洁便利 采用公式化描述,可在常数时间内访问第k 个元素;而在链表中,需要的时间为O ( k )。 链表的主要优点 无需事先了解线性表的长度 允许线性表的长度有很大变化 能够适应经常插入删除内部元素的情况 链表中的插入和删除操作不需要移动数据,所以更快 链表 vs. 数组:应用场合的选择 不要使用顺序表的场合 经常插入删除时,不宜使用顺序表; 线性表的最大长度也是一个重要因素。 不要使用链表的场合 当存取操作比插入删除操作频率大时,不应选择链表; 当指针的存储开销和整个节点内容所占空间相比其比例较大时,应该慎重选择。 1、 2000年华中科技大学考研题: 【填空题】设单链表的节点结构为(data,next),next为指针域。已知指针px指向单链表中data为x的节点,指针py指向data为y的节点,若将y插入节点x之后,则需执行以下语句: px-next=py; 课堂练习 2、2000武汉大学考研题: 【选择题】非空循环链表head
您可能关注的文档
- A.简单串联并联组合电路.ppt
- AD特训营——人员管理.pptx
- AMT培训资料CRM的全面浓缩介绍.ppt
- ATPTCP药敏检测.ppt
- BHK3c销售管理系统.ppt
- C54X 指令系统.ppt
- C54指令系统《TMS320C54X DSP结构原理及应用》.ppt
- Chapte2 线性表双向及循环链表.ppt
- chapter5Part3水泥混凝土.ppt
- C语言64总复习.ppt
- 03-2 2025年度民主生活会征求意见座谈会主持词.docx
- 03-1 2025年度民主生活会主持讲话提纲.docx
- 02-1 会前学习-《县以上党和国家机关党员领导干部民主生活会若干规定》相关要求.docx
- 在2025年度民主生活会上的总结讲话三篇.docx
- 在2025年度民主生活会上的总结讲话三篇 (3).docx
- 市委宣传部2025年度民主生活会查摆问题整改方案两篇.docx
- 在市行政审批和政务信息管理局机关2026年全体干部政绩观教育大会上的党课讲稿.docx
- X市应急管理局2026年度安全生产监督检查计划.docx
- 2025年度民主生活会领导班子对照检查材料(五个带头)三篇.docx
- 2025年度民主生活会“五个带头”个人对照检查材料三篇.docx
最近下载
- 静脉输液输错护理不良事件.pptx VIP
- 2025年内蒙古商贸职业学院高职单招职业技能考试题库及答案解析.docx VIP
- 一种分离并检测玛巴洛沙韦中有关物质的高效液相色谱法.pdf VIP
- 九版内科学-肺结核【170页】.pptx VIP
- 高三化学二轮复习习题第三部分高考模拟考场模拟考场3.doc VIP
- 智能制造系统感知分析与决策 第2版 课件全套 第1--9章 绪论、 制造系统感知技术---制造系统适人性评估与验证.pdf VIP
- 易飞moc工单委外子系统培训.ppt
- 中国居民赴越南投资税收指南(2025).pptx
- 乔木栽植施工方案.docx
- FRAND原则司法实践-洞察及研究.docx
原创力文档

文档评论(0)