网站大量收购独家精品文档,联系QQ:2885784924

第2章-线性表探析.ppt

  1. 1、本文档共115页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第二章 线性表 ;线性结构的基本特征为:;2.1 线性表的类型定义;2.1 线性表的类型定义;抽象数据类型线性表的定义如下:; 基本操作:; InitList( L ) ; 结构销毁操作;ListEmpty( L ); ListEmpty( L ) ;ListLength( L ); PriorElem( L, cur_e, pre_e ) ;NextElem( L, cur_e, next_e );GetElem( L, i, e );LocateElem( L, e, compare( ) ); ListTraverse(L, visit( ));加工型操作 ;ClearList( L );PutElem( L, i, e ); ListInsert( L, i, e );ListDelete(L, i, e);最简单的一种顺序映象方法是: 令 y 的存储位置和 x 的存储位置相邻。; 用一组地址连续的存储单元 依次存放线性表中的数据元素 ;以“存储位置相邻”表示有序对ai-1,ai 即:LOC(ai) = LOC(ai-1) + C 一个数据元素所占存储量↑;顺序映像的 C 语言描述;线性表的基本操作在顺序表中的实现;Status InitList_Sq( SqList L ) { // 构造一个空的线性表 } // InitList_Sq; int LocateElem_Sq(SqList L, ElemType e, Status (*compare)(ElemType, ElemType)) { // 在顺序表中查询第一个满足判定条件的数据元素, // 若存在,则返回它的位序,否则返回 0 } // LocateElem_Sq;线性表操作 ListInsert(L, i, e)的实现:; (a1, …, ai-1, ai, …, an) 改变为 (a1, …, ai-1, e, ai, …, an);例如:顺序表;Status ListInsert_Sq(SqList L, int i, ElemType e) { if (i 1 || i L.length+1) return ERROR; // 插入位置不合法 if (L.length = L.listsize) { // 当前存储空间已满,增加分配 newbase = (ElemType *)realloc(L.elem, (L.listsize+LISTINCREMENT)*sizeof (ElemType)); if (!newbase) exit(OVERFLOW); // 存储分配失败 L.elem = newbase; // 新基址 L.listsize += LISTINCREMENT; // 增加存储容量 }; Status ListInsert_Sq(SqList L, int i, ElemType e) { // 在顺序表L的第 i 个元素之前插入新的元素e, // i 的合法范围为 1≤i≤L.length+1 } // ListInsert_Sq ;考虑移动元素的平均情况:;线性表操作 ListDelete(L, i, e)的实现:;21 18 30 75 42 56 87; (a1, …, ai-1, ai, ai+1, …, an) 改变为 (a1, …, ai-1, ai+1, …, an);Status ListDelete_Sq (SqList L, int i, ElemType e) { } // ListDelete_Sq;考虑移动元素的平均情况:;21 18 30 75 42 56 87;利用上述定义的线性表 可以实现其它更复杂的操作; 假设:有两个集合 A 和 B 分别用两个线性表 LA 和 LB 表示,即:线性表中的数据元素即为集合中的成员。 现要求一个

文档评论(0)

1112111 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档