数据结构动画版_PPT教案3.ppt

  1. 1、本文档共163页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构动画版_PPT教案3

实例;书目自动检索系统;猴子选大王;约瑟夫环(Joseph Circle);例:;例:;例:;例: ;例:;例:;例:;例:;例: ;例:;例:;例:;例:;例:;例:;例:;例:;存储结构;;在数据元素的非空有限集中 存在唯一的一个被称作“第一个”的数据元素 存在唯一的一个被称作“最后一个”的数据元素 除第一个外,集合中的每个数据元素均只有一个前驱 除最后一个外,集合中的每个数据元素均只有一个后继;定义:一个线性表是n个数据元素的有限序列;ADT List { 数据对象:D={ai|ai?ElemSet, i=1,2,…,n, n≥0 },n—表长,n=0,空表 数据关系:R={ai-1,ai| ai-1,ai?D, i=2,…,n },i为ai在线性表中位序 基本操作: 结构初始化操作 结构销毁操作 引用型操作(只读操作) 加工型操作(修改操作) } ADT List;初始化操作: InitList(L) 操作结果:构造一个空线性表L 结构销毁操作: DestroyList(L) 初始条件:线性表L已存在 操作结果:销毁线性表L 引用型操作: ListEmpty(L) //线性表判空 初始条件:线性表L已存在 操作结果:若L为空表,返回TRUE;否则返回FALSE ListLength(L) //求线性表的表长 初始条件:线性表L已存在 操作结果:返回L中数据元素个数 GetElem(L, i ,e) //求线性表的第i个元素 初始条件:线性表L已存在,且1≤i ≤ ListLength(L) 操作结果:用e返回L中第i个数据元素的值;引用型操作: LocateElem(L,e,compare()) //定位函数 初始条件:线性表L已存在,compare()是元素判定函数 操作结果:返回L中第1个与e满足关系compare()的元素的位序。 PriorElem(L,cur_e,pre_e) //求数据元素的前驱 初始条件:线性表L已存在 操作结果:若cur_e是L中元素,且不是第一个,则用pre_e 返回其前驱;否则操作失败,pre_e无定义 NextElem(L,cur_e,next_e) //求数据元素的后继 初始条件:线性表L已存在 操作结果:若cur_e是L中元素,且不是最后一个,则用next_e 返回其后继;否则操作失败,next_e无定义 ListTraverse(L,visit()) //线性表遍历 初始条件:线性表L已存在,visit()为某个访问函数 操作结果:依次对L中每个元素调用函数visit()。一旦visit()失败,则操 作失败 ;加工型操作: ClearList(L) //线性表置空 初始条件:线性表L已存在 操作结果:将L重置为空表 ListInsert(L, i, e) //插入数据元素 初始条件:线性表L已存在,且1≤i ≤ ListLength(L)+1 操作结果:在L中第第i个位置之前插入元素e,L的长度加1 ListDelete (L, i, e) // 删除数据元素 初始条件:线性表L已存在且非空,1≤i ≤ ListLength(L) 操作结果:删除L的第i个元素,并用e返回其值,L的长度减1 ;利用上面定义的线性表的ADT,可以实现更复杂的操作;void Union( List La, List Lb) { La_len=ListLength(La); //求线性表长度 Lb_len=ListLength(Lb); for(i=1;i=Lb_len;i++) {

文档评论(0)

153****9595 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档