-数据结构---第2章--线性表.ppt

  1. 1、本文档共34页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
2.3.4 双向链表 类型说明 typedef struct DuLNode { ElemType data; // 数据域 struct DuLNode *prior; // 指向前驱的指针域 struct DuLNode *next; // 指向后继的指针域 } DuLNode, *DuLinkList; b c a p p-prior-next= p= p-next-proir; ai-1 ai 插入操作: s-data=e; s- prior = p- prior; p- prior -next= s; s-next= p; p-prior = s; 双向链表的操作特点:“查询” 和单链表相同;“插入” 和“删除”时需要同时修改两个方向上的指针。 s p e p a b c 删除操作: p- prior -next= p- next; p- next - prior = p-prior; free(p); 2.3.5 单链表的应用 例2-7 设有两个单链表A和B,其中的元素递增有序,编写算法将A、B归并成一个按值递减有序排列的链表C,要求用A和B中的原结点形成,不能重新申请结点。 分析: p q p q p q A 29 35 48 ^ B 31 45 56 ^ 56 48 45 ^ 31 35 C 29 第二章 线性表 2.1 线性表的逻辑结构 2.2 线性表的顺序表示和实现 2.3 线性表的链式表示和实现 概述 线性表是数据元素的有序集,是一种最简单的线性结构。 线性结构的基本特征: 集合中必存在唯一的 “第一元素”; 集合中必存在唯一的 “最后元素” ; 除最后元素在外,均有 唯一的后继元素; 除第一元素之外,均有 唯一的前驱元素。 2.1 线性表的逻辑结构 2.1.1 线性表的定义 线性表(Linear List) :由n(n≧0)个数据元素(结点)a1,a2, …an组成的有限序列。 其中数据元素的个数n定义为表的长度。当n=0时称为空表,常常将非空的线性表(n0)记作:(a1,a2,…, ai, ai+1…..an) 注意:数据元素ai(1≦i≦n)只是一个抽象的符号,其具体含义在不同的情况下可以不同。 若将线性表记为: (a1,…,ai-1,ai,ai+1…,an), 称ai-1是ai的直接前驱元素,ai+1是ai的直接后继。 例1:26个英文字母组成的字母表 (A,B,C、…、Z) 例2:某校从1978年到1983年各种型号的计算机拥有量的变化情况:(6,17,28,50,92,188) 例3:学生健康情况登记表如下 姓 名 学 号 性别 年龄 健康情况 王小林 790631 男 18 健康 陈 红 790632 女 20 一般 刘建平 790633 男 21 健康 张立立 790634 男 17 神经衰弱 …….. …….. ……. ….. ……. a1 a2 a3 a4 2.2 线性表的顺序表示和实现 2.2.1 顺序表的定义 顺序映象:以 x 的存储位置和 y 的存储位置之间某种关系表示逻辑关系x,y。 最简单的一种顺序映象方法是: 令 y 的存储位置和 x 的存储位置相邻; 用一组地址连续的存储单元,依次存放线性表中的数据元素。 a1 a2 … ai-1 ai … an 线性表的起始地址 称作线性表的基地址 以“存储位置相邻”表示有序对ai-1,ai 即:LOC(ai) = LOC(ai-1) + l 一个数据元素所占存储量↑ 所有数据元素的存储位置均取决于第一个数据元素的存储位置 LOC(ai) = LOC(a1) + (i-1)×l ↑基地址 线性表的这种机内表示称做线性表的顺序存储结构或顺序映象。 它的特点是: 以元素在计算机内“物理位置相邻”来表示线性表中数据元素之间的逻辑关系。 内存地址 内存空间 元素位序 b a1 1 b+l a2 2 b+2*l …… … b+(i-1)*l ai i ……. … … b+(n-1)*l an n b+n*l n+1 … …. ….

文档评论(0)

131****8213 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档