- 1、本文档共31页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
链表的典型形态 1.2.5 链表的典型形态 1、单链表 如前所述 2、带头节点的单链表 头节点:是一个特殊的链点, 数据内容无效 链点指针指向链表头 链表的典型形态 带头节点的单链表 几个容易混淆的概念 第一个元素节点\头指针、头节点、链表头 第一个元素节点是线性表关系中第一个元素——a1 链表头是第一个链点,一般在链表的头部。 头指针是指向第一个元素所在链点的指针 头节点:是一个特殊的链点,数据内容无效,链点指针指向链表头 链表的典型形态 带头节点的单链表 几个容易混淆的概念 第一个元素节点、头指针、头节点、链表头 链表的典型形态 带头节点单链表的操作特点 插入和删除算法不必考虑在表首进行时,需要更改头指针的特殊处理 为什么教材中使用**而教案中没有使用? 教材中仅定义了链点,没有定义链表结构 程序中调用的上下文不同 为什么教材中使用**而教案中没有使用? 为什么教材中使用**而教案中没有使用? 本质是一样的:要在函数调用中改变头指针的指向 改变指针的指向,即改变指针变量的内容 要改变指针的内容,必须将指针变量的地址传入 教材中是将指针的地址传入--指针的指针 教案中将地址所在的结构的地址传入 双向链表 1.3双向链表 特点:每一个链点包含两个指针, 前趋指针 后继指针 双向链表 1.3.1双向链表的定义 双向链表插入 1.3.2 双向链表的插入操作 双向链表插入 1.3.2 双向链表的插入操作 双向链表插入 1.3.2 双向链表的插入操作 双向链表插入 算法实现(略) 找到ai 执行插入操作 体会 插入操作有多种方式实现,步骤比较复杂 双向链表的使用灵活,可进可退 思考:前面的四个步骤的组合顺序里,哪些是正确的,哪些是错误的? 双向链表删除 1.3.3 双向链表的删除操作 问题描述:删除第i个元素 双向链表删除 1.3.3 双向链表的删除操作 问题描述:删除第i个元素 循环链表 1.4循环链表 上机练习题 上机练习题 上机练习题 上机练习题 上机练习题 上机练习题 上机练习题 上机练习题 体会 last指针的作用 思考 如果是双向链表还是否需要last指针? 上机练习题 上机练习题 上机练习题 段景山 * * 段景山 软件技术基础 制作 主讲 段景山 段景山 线性结构 ///// a1 ... 头节点 ai an ... a1 an ... ... ai 头指针 a1 ai+1 an head tail ai-1 ... ... ai ///// a1 ... ai an ... 第一个元素节点、链表头 第一个元素节点 头指针 头节点 head ///// a1 ... ai an ... head p = head; p-next = p-next-next; while(location 1 p != NULL ){ … } 如果location为1, 表首节点将被删除 p typedef struct list_type{ node_type *head; node_type *tail; int length; }list_type; head tail length a1 a2 教材 void main() { node *head; createsl( head ); …… } void createsl( node **h) { *h = first node; …… } 教案 void main() { list_type list; create_l( list ); …… } void create_l( list_type *l) { l-head = first node; …… } head head head tail length head tail length a1 a1 …… head tail N a2 N P an P a1 N P P:prior N:next typedef struct double_link_node_type{ struct double_link_node_type * prior; struct double_link_node_type * next; elemtype data; }dl_node_type ; typedef struct double_link_list_type{ dl_node_type *head; dl_node_type *tail; int length; }dl_list_type; 链点的定义 链表的定义 ai-1 N P ai N P 问题描述:在第i个元素前插入新元素 anew N P
您可能关注的文档
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第2章 计算机网络基础.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第3章 计算机网络硬件.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第4章 局域网.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第5章 网络操作系统.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第6章 Internet应用.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第7章 计算机网络安全.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第10章 多媒体数据压缩技术.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第11章 数字音频处理技术.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第12章 图形与图像处理技术.ppt
- 成都理工大学信息科学与技术学院计算机网络与多媒体技术课件第13章 计算机动画处理技术.ppt
- 绿电2022年系列报告之一:业绩利空释放,改革推动业绩反转和确定成长.docx
- 化学化工行业数字化转型ERP项目企业信息化规划实施方案.pdf
- 【研报】三部门绿电交易政策解读:溢价等额冲抵补贴,绿电交易规模有望提升---国海证券.docx
- 中国债券市场的未来.pdf
- 绿电制绿氢:实现“双碳”目标的有力武器-华创证券.docx
- 【深度分析】浅析绿证、配额制和碳交易市场对电力行业影响-长城证券.docx
- 绿电:景气度+集中度+盈利性均提升,资源获取和运营管理是核心壁垒.docx
- 节电产业与绿电应用年度报告(2022年版)摘要版--节能协会.docx
- 2024年中国人工智能系列白皮书-智能系统工程.pdf
- 如何进行行业研究 ——以幼教产业为例.pdf
最近下载
- 大楼维修改造工程投标方案(技术标367页).docx
- 高频电刀的使用(参考).ppt
- AQT3034—2022化工过程安全管理导则.pdf VIP
- 省考公务员-黑龙江-行政职业能力测验-第一章数量关系-第四节行程问题-.docx VIP
- DB23_T(1621.10-1621.14)-2015:黑龙江省建设工程施工操作技术规程(三).pdf VIP
- 整体法-隔离法-动态平衡题型练.doc VIP
- 2021年全国乙卷(生物)高考真题.pdf VIP
- 论中小企业会计核算重要性-来源:财会学习(第2020027期)-《中国建材报》社、中国会计学会建材分会.pdf VIP
- 2022年高考真题全国乙卷(文综历史)真题(有答案).pdf VIP
- 浅谈机务维修作风建设 蔡恒志.doc VIP
文档评论(0)