算法与数据结构:2-线性表.pdfVIP

  1. 1、本文档共26页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第二讲 线性表 ① 什么是线性表 ② 线性表的顺序存储结构 ③ 线性表的链式存储结构 举例时间 ① 什么是线性表 线性表(List) : (a ,a ,…a ) 1 2 n n :表的长度 n=0时称空表 由n (n≥0) 个数据元素组成的有限序列。 逻辑结构特点:线性结构 1. 有序(一对一) 2. 有限 一个空表是不是线性表? 3. 可为空 4. 元素性质相同(属于同一数据对象) a 的直接前驱 i :a 的位序 a 的直接后继 i i i 无直接后继 无直接前驱 a1 a2  ai1 ai a  an i1 线性表的抽象数据类型 ADT 线性表 ( List ) { ……………………抽象数据类型名 数据对象 :D = {a ,a ,…,a },n=0 每个元素的类型均为ElemType 类型 1 2 n 数据关系 :Rl = {除a1 外每个元素有且只有一个直接前驱元素;除an 外每个元素有且只有一个后继元素;数据元素之间是一对一的关系。} 基本操作 : InitList (*L) 操作结果:初始化一个空的线性表L 。 DestroyList (*L) 初始条件:线性表L 已经存在。 操作结果:销毁线性表L 。 ClearList (*L) 初始条件:线性表L 已经存在。 操作结果:将L 清空为空表。 ListEmpty (L ) 初始条件:线性表L 已经存在。 操作结果:若L 为空返回true ,否则返回false 。 ListLength (L ) 初始条件:线性表L 已经存在。 操作结果:返回线性表L 的元素个数。 GetElem (L ,i,*e) 初始条件:线性表L 已经存在,i ∈[1, ListLength ( L )] 。 操作结果:将L 中第i 个位置的元素返回给e 。 LocateElem (L ,e,compare ( ) ) 初始条件:线性表L 已经存在。 操作结果:在L 中查找与给定值e 满足关系compare ( ) 的元素,无参数compare()默认为相等关系,找到后返回其第一个元素的位序, 查找失败返回0 。 ListInsert (L ,i,e ) 初始条件:线性表L 已经存在,i ∈[1, ListLength ( L )+1] 。 操作结果:在L 中第i 个位置插入新元素e,L 的长度加1。 ListDelete (L ,i,*e ) 初始条件:线性表L 已经存在且非空,i ∈[1, ListLength ( L )] 。 操作结果:删除L 中第i 个位置元素,并用e 返回其值,L 的长度减1。 } ADT List  两个集合La和Lb的并集——线性表基本操作的组合  Keypoint: 依次取出Lb中的元素并在La中查访,如不存在就将 其插入La。 /* 将所有在线性表Lb 中但不在La 中的数据元素插入La 中*/ Void unionL( List *La, List Lb) { Int Len_La, Len_Lb, i;

文档评论(0)

学习让人进步 + 关注
实名认证
文档贡献者

活到老,学到老!知识无价!

1亿VIP精品文档

相关文档