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

数据结构[C语言版]第二章1.ppt

  1. 1、本文档共35页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第2章 线性表 ;本章主要重点和难点; 线性结构是一个数据元素的有序(次序)集合。 它有四个基本特征:  1.集合中必存在唯一的一个“第一元素”;  2.集合中必存在唯一的一个“最后元素”;  3.除第一元素之外,其它数据元素均有唯一的“前驱”。   4.除最后元素之外,其它数据元素均有唯一的后继;;2.1 线性表的类型定义; 线性表(Linear List)是由n (n≥0)个类型相同的数据元素a1, a2, …, an组成的有限序列,记作(a1, a2, …,ai-1,ai,ai+1, …,an),n为线性表的表长。 对n0,除第一个元素无直接前驱、最后一个元素无直接后继外,其余的每个数据元素只有一个直接前驱和一个直接后继。n=0时,线性表为空表。;线性表的特点:  同一性:线性表由同类数据元素组成,每一个ai必须属于同一数据对象。  有穷性:线性表由有限个数据元素组成, 表长度就是表中数据元素的个数。  有序性:线性表中表中相邻数据元素之间存在着序偶关系ai, ai+1。  ;2.1.2 线性表的抽象数据类型定义;(2) DestroyList(L) 操作前提: 线性表L已存在。  操作结果: 将L销毁。  (3) ClearList(L) 操作前提: 线性表L已存在 。  操作结果: 将表L置为空表。  (4) EmptyList(L) 操作前提: 线性表L已存在。  操作结果: 如果L为空表则返回真, 否则返回假。 ; (5) ListLength(L) 操作前提: 线性表L已存在。  操作结果: 如果L为空表则返回0, 否则返回表中的元素个数。 (6) Locate(L, e) 操作前提: 表L已存在, e为合法元素值。  操作结果: 如果L中存在元素e, 则将“当前指针”指向元素e所在位置并返回真, 否则返回假。  (7) GetData(L, i) 操作前提: 表L存在, 且i值合法, 即1≤i≤ListLength(L)。 操作结果: 返回线性表L中第i个元素的值。 ; (8) InsList(L, i, e) 操作前提:表L已存在,e为合法元素值且1≤i≤ListLength(L)+1。  操作结果:在L中第i个位置插入新的数据元素e,L的长度加1。 (9) DelList(L, i, e) 操作前提: 表L已存在且非空, 1≤i≤ListLength(L)。 操作结果: 删除L的第i个数据元素, 并用e返回其值, L的长度减1。  } ADT LinearList ;2.2 线性表的顺序存储; 假设线性表中有n个元素,每个元素占k个单元,第一个元素的地址为loc(a1) ,则可以通过如下公式计算出第i个元素的地址loc(ai):  loc(ai) =loc(a1)+(i-1)×k 其中loc(a1)称为基地址。 ;例如:一个线性表的第一个元素的存储地址为100,每个元素的长度为2,则第5个元素的存储地址是多少? 分析: 已知:loc(a1)=100,k=2;求loc(a5)=? 根据公式loc(ai)= loc(a1)+(i-1)*k loc(a5)= loc(a1)+(5-1)*2 =100+4*2=108 ;图2.2 顺序表存储示意图 ;线性表的动态分配存储结构: #define LIST_INIT_SIZE 100 /*存储空间初始分配量*/ #define LISTINCREMENT 10/*空间分配增量*/ typedef struct { ElemType *elem;/*存储空间基址*/ int length;/* 当前长度 */ int listsize;/*当前分配的存储容量*/ } SeqList;;线性表的静态分配存储结构: #define MAXSIZE=线性表可能达到的最大长度 typedef struct { ElemType elem[MAXSIZE]/* 存储空间 */ int length;/*记录线性表的长度

文档评论(0)

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

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

1亿VIP精品文档

相关文档