- 1、本文档共52页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 线性表 学习目的要求: 小结 线性表的定义及特点 线性表的操作 什么是线性表的顺序存储结构——顺序表 已知顺序表首元素的地址和元素占的存储单元计算第i个元素的地址。 线性表的顺序存储结构C语言描述 顺序表插入运算算法及等概率时平均移动次数 顺序表删除运算算法及等概率时平均移动次数 线性表顺序存储结构的特点 小结 单链表的结构定义 带头结点和不带头结点的单链表为空条件 指针指向尾结点的条件 单链表的输出 单链表的插入(创建结点) 单链表的删除(释放结点) 单循环链表 指针指向尾结点的条件 2.3.3 循环链表结构 如果将单链表最后一个结点的指针指向头结点,使链表形成一个环形,此链表就称为循环链表(Circular Link List)。 2.3 线性表的链式存储结构及其运算 2.3.4 双向链表结构 1. 双向链表的基本概念 在循环链表的结点中再增加一个指针域,这个指针直接指向该结点的 直接前驱。这样,链表中一个结点就有了两个指针域,我们把这样的链表称为双向链表。 2.3 线性表的链式存储结构及其运算 如果每条链都构成一个循环链表,则称这样的链表为双向循环链表。 2. 插入运算 在双向链表的p结点之后插入新结点q。 2.3 线性表的链式存储结构及其运算 void insert(DUPNODE *p,DUPNODE *q) { /*把q结点插在双向链表的p结点之后*/ q-prior=p; q-next=p-next; (p-next)-prior=q; p-next=q; } 2.3 线性表的链式存储结构及其运算 3. 删除运算 将双向链表中的 p 结点删除。 2.3 线性表的链式存储结构及其运算 * 第2章 线性表 线性表的定义和线性表的特征。 线性表的顺序存储结构及其算法的实现。 线性链表的描述及其算法的实现。 循环链表和双向循环链表的描述。 数组的顺序存储和矩阵的压缩存储的描述。 2.1 线性表的基本概念 2.2 线性表的顺序存储结构及其算法 2.3 线性表的链式存储结构及其运算 2.4 算法应用举例 2.5 数组 第2章 线性表 2.1.1 线性表的定义 2.1 线性表的基本概念 线性表(linear list)是由 n个数据元素组成的有限序列。 线性表可以用一个标识符来命名,如果用A来表示线性表,则: A=(a1 ,a2 ,…,ai ,…,an ) 线性表是一种非常典型的线性结构,用二元组可以表示成: S=(D,R) D={ a1,a2 ,…,ai ,…,an } R={a1,a2,a2,a3,…,ai ,ai+1 ,…,an-1,an } 线性表是一种典型的线性结构 其中数据元素的个数n定义为表的长度。当n=0时称为空表,常常将非空的线性表(n0)记作: (a1,a2,…an) 这里的数据元素ai(1≤i ≤ n)只是一个抽象的符号,其具体含义在不同的情况下可以不同。 例1、26个英文字母组成的字母表 (A,B,C、…、Z) 例4、学生健康情况登记表如下: ……. ……. ……. …….. …….. 神经衰弱 17 男 790634 张立立 健康 21 男 790633 刘建平 一般 20 女 790632 陈 红 健康 18 男 790631 王小林 健康情况 年龄 性 别 学 号 姓 名 例2、某校从1978年到1983年各型号的计算机拥有量的变化情况。 (6,17,28,50,92,188) 例3、一副扑克的点数 (2,3,4,…,J,Q,K,A) 线性表的逻辑特征是: 在非空的线性表中: 有唯一的开始元素a1,和唯一的终端元素an。 除开始元素外,其他每一个结点有且仅有一个直接前驱。 除终端元素外,其他每一个结点有且仅有一个直接后继。 a1 a2 a3 a4 a5 a6 数据的运算是定义在逻辑结构上的,而运算的具体实现则是在存储结构上进行的。 2.1.2 线性表的基本操作 (1)InitList(List):初始化操作,建立一个空的线性表List; (2)ListLength(List):求线性表的长度; (3)GetElement(List, i ):取线性表中的第 i 个元素(1≤ i ≤n,n为线性表长度); (4)PriorElement(List, x ):若 x 不是第一个数据元素,则取 x 的直接前驱; (5)NextElement(List, x ):若 x 不是最后一个元素,则取 x 的直接后继; (
您可能关注的文档
- 农村电商示范点加盟合同介绍.doc
- 农村人口老龄化问题及对策介绍.doc
- 农贸市场施工组织设计介绍.doc
- 农民专业合作社财务会计制度介绍.doc
- 农水水资源规划及利用设计介绍.doc
- 农田水利施工组织介绍.doc
- 农业信息技术整理介绍.doc
- 怒江州听命河电站启动试运行方案介绍.doc
- 暖通空调安装工程修改过介绍.doc
- 女摄影师眼中的光色美景介绍.doc
- 辽宁省沈阳市公务员考试常识判断专项练习题及参考答案.docx
- 2025年推拿治疗学考试题附参考答案详解(培优).docx
- 辽宁省鞍山市行政职业能力测验题库及参考答案1套.docx
- 2025年推拿治疗学考试题附参考答案详解(夺分金卷).docx
- 辽宁省辽阳市选调生考试(行政职业能力测验)综合能力测试题必考题.docx
- 辽宁省本溪市选调生考试(行政职业能力测验)综合能力测试题推荐.docx
- 辽宁省沈阳市行政职业能力测验模拟试题审定版.docx
- 辽宁省沈阳市公务员考试常识判断专项练习题及参考答案1套.docx
- 辽宁省铁岭市行政职业能力测验题库1套.docx
- 2025年推拿治疗学考试题附参考答案详解【预热题】.docx
文档评论(0)