- 1、本文档共44页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
[2018年最新整理]yss-线性链表
第三章 链 表 3.1 线性链表 3.2 循环链表 3.3 双向链表 3.1 线性链表 一、 链表的定义 链表和数组是程序语言中使用内存常用的方法,两者都为“线性表”,就像火车一般,一个车箱接着一个车箱有顺序的连在一起。但有不同: 数组结构——必须在程序编译前就定好数组元素的大小(静态内存分配),因此常需事先预估数据量的多少;数据元素在内存中连续存放,所以在删除或增加元素之后,其后的元素都必须跟着移动,降低了执行效率。 链表结构——在程序执行阶段才向任务系统要求分配所需的内存空间(动态内存分配);数据元素在内存中位置不一定相邻,所以每一项数据都有一个链接字段,可以存放下一个数据的地址,如此便可形成表结构。 二、链表的特点 链表中结点的逻辑次序和物理次序不一定相同。即:逻辑上相邻未必在物理上相邻。(注意与顺序表区别) 结点之间的相对位置由链表中的指针域指示,而结点在存储器中的存储位置是随意的。 三、结点的组成 数据域——表示数据元素自身值。 指针域(链域)——表示与其它结点关系。通过链域, 可将n个结点按其逻辑顺序链接在一起(不论其物理次 序如何)。 四、单链表 ----每个结点只包含一个指向后继结点的链域。 表头结点——(无前趋)用头指针指向之。虽然头指针只指 向表头结点,但从表头指针出发,沿着结点的 链(即指针域的值)可以访问到每个结点,故 常以表头指针来命名一个链表。 表尾结点——指针为空(无后继),用^或null表示。 中间结点——由其前趋的指针域指向之。 五、单链表的建立 1. 单链表内节点的定义 typedef int datatype; typedef struct node /*结点类型定义*/ { datatype data; /*数据域*/ struct node *next; }JD; /*next为指针域,指向该结点的后继*/ typedef JD *Link; Link head, p; /*指针类型说明*/ 2. 具有节点数据结构的p的含义 指针p与指向的结点关系示意图: p 结点 (*p) 说明: P——指向链表中某一结点的指针。 *p——表示 由指针p所指向的结点。 (*p).data或p-data——表示由p所指向结点的数据域。 (*p).next或p-next——表示由p所指向结点的指针域。 3. 配置内存空间 节点定义后,程序并不会马上配置我们所需的内存空间,而 是需利用 malloc( ) 向系统要求配置内存空间,如: p=(Link)malloc(sizeof(JD)) 对指针p赋值使其指向某一结点(按需生成一个JD结点类型的新结点)。 其中: (Link)——进行类型转换。 Sizeof(JD)——求结点需要占用的字节数。 Malloc(size)——在内存中分配size个连续可用字节的空间。 当内存配置成功时,p所返回的将是一个指针,当内存配置 失败时,p所返回的则是NULL指针。 注意:(使用malloc( )时,必须在程序开头: #includestdlib.h) 六、 单链表的基本运算
您可能关注的文档
- [2018年最新整理]UG有限元分析第13章.ppt
- [2018年最新整理]UG有限元分析第7章.ppt
- [2018年最新整理]UG有限元分析第5章.ppt
- [2018年最新整理]UG有限元分析第6章.ppt
- [2018年最新整理]UG有限元分析第8章.ppt
- [2018年最新整理]UG有限元分析第9章.ppt
- [2018年最新整理]ug编程2.doc
- [2018年最新整理]UG的管道设计.docx
- [2018年最新整理]ug羊角锤画法.ppt
- [2018年最新整理]UG曲面的创建.doc
- 基于人工智能教育平台的移动应用开发,探讨跨平台兼容性影响因素及优化策略教学研究课题报告.docx
- 高中生物实验:城市热岛效应对城市生态系统服务功能的影响机制教学研究课题报告.docx
- 信息技术行业信息安全法律法规研究及政策建议教学研究课题报告.docx
- 人工智能视角下区域教育评价改革:利益相关者互动与政策支持研究教学研究课题报告.docx
- 6 《垃圾填埋场渗滤液处理与土地资源化利用研究》教学研究课题报告.docx
- 小学音乐与美术教师跨学科协作模式构建:人工智能技术助力教学创新教学研究课题报告.docx
- 《航空航天3D打印技术对航空器装配工艺的创新与效率提升》教学研究课题报告.docx
- 教育扶贫精准化策略研究:人工智能技术在区域教育中的应用与创新教学研究课题报告.docx
- 《区块链技术在电子政务电子档案管理中的数据完整性保障与优化》教学研究课题报告.docx
- 《中医护理情志疗法对癌症患者心理状态和生活质量提升的长期追踪研究》教学研究课题报告.docx
文档评论(0)