第三讲 线性表的定义.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第三讲 线性表的定义

第三讲 线性表的定义及逻辑结构 本讲主要内容: 一、线性表的定义 二、线性表的逻辑结构 三、线性表的抽象类型定义 线性表的定义 线性表:简称表,是n(n≥0)个具有相同类型的数据元素的有限序列。 线性表的长度:线性表中数据元素的个数,一般用n表示, n≥0 。 空表:长度等于零的线性表,即n=0,记为:L=( )。 线性表的定义 非空表记为:L=(a1, a2 , …, ai-1, ai , …, an) 线性表的定义 例如: L1=( ):L1是一个空的线性表; L2=(a,b,c,d,e):L2线性表中有5个元素,其长度为5。a是表头元素、e是表尾元素。c的直接前驱元素是b,c的直接后继元素是d。a元素的序号是1,c元素的序号是3。 元素ai 和ai+1之间的先后关系用 ai , ai+1表示. 线性表L=(D,R),其中 D={ai | 1≤i≤n,n≥0, ai 属于ElemType类型} R={r} R={ai,ai+1|1≤i≤n-1} 注意:ElemType类型是C++的类型标识符,代表某种类型. 线性表的抽象数据类型定义 ListEmpty(L) 判断线性表是否为空:若L为空表,则返回真,否则返回假。 前置条件:表已存在 输入:无 功能:判断表是否为空 输出:若是空表,返回1,否则返回0 后置条件:表不变 DispList (L) 输出线性表:当线性表L不为空时,顺序显示L中各结点的值域。 前置条件:表已存在 输入:无 功能:顺序显示L中各结点的值域 输出:若是空表,直接返回;否则顺序显示表中各结点的值域 后置条件:表不变 ListInsert(L,i,e) 插入数据元素:在L的第i(1≤i≤ListLength(L)+1)个元素之前插入新的元素e,L的长度增1。 前置条件:表已存在 输入:插入i;待插入的元素e 功能:在表的第i个位置处插入一个新元素e 输出:若插入不成功,抛出异常 后置条件:若插入成功,表中增加一个新元素,表长增1 ListDelete(L,i,e) 删除数据元素:删除L的第i (1≤i≤ListLength(L))个元素,并用e返回其值,L的长度减1。 前置条件:表已存在 输入:删除位置i 功能:删除表中的第i个元素 输出:若删除成功,用e返回被删元素,否则抛出异常 后置条件:若删除成功,表中减少一个元素,表长减1 } * * 学生成绩登记表 姓 名 英语 数据结构 高数 学号 丁一 96 78 87 0101 李二 87 90 78 0102 张三 67 86 86 0103 孙红 69 81 96 0104 王冬 87 74 66 0105 职工工资登记表 姓 名 岗位津贴 基本工资 奖金 职工号 丁一 600 278 200 0101 李二 300 190 100 0102 张三 300 186 100 0103 孙红 500 218 200 0104 王冬 300 190 100 0105 数据元素之间的关系是什么? ai(1≤i≤n)称为数据元素; 下角标 i 表示该元素在线性表中的位置或序号 。 a1是表中第一个元素,称为表头元素; a2是表中第二个元素; …… an是最后一个元素,称为表尾元素; 线性表中各元素在位置上是有序的,这种有序就称为线性关系. a1 a3 a4 an a2 线性表(a1, a2 , …, ai-1, ai , …, an)的图形表示如下: 线性表的图形表示 线性表(a1, a2 , …, ai-1, ai , …, an)的二元组表示如下: 线性表的二元组表示 a1 a3 a4 an a2 1.有限性:线性表中数据元素的个数是有穷的。 2.相同性:线性表中数据元素的类型是同一的。 3.顺序性:线性表中相邻的数据元素ai-1和ai之间存在序偶关系ai-1, ai,即ai-1是ai的前驱, ai是ai-1的后继;a1 无前驱,an无后继,其它每个元素有且仅有一个前驱和一个后继。 线性表的特性 ADT List { 数据对象: D={ai | 1≤i≤n,n≥0, ai 属于ElemType类型} //ElemType是C++的类型标识符 数据关系: R={ ai , ai+1|ai,ai+1∈D,i=1,n-1} 线性表的抽象数据类型定义 基本运算: InitList (L) 初始化线性表:构造一个空的线性表L。 前置条件:表不存在 输入:无 功能:表的初始化 输出: 无 后置条件:建一个空表 线性表的抽象数据类型定义 DestroyLi

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档