- 1、本文档共101页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第2章 线性表 ;图2.1 线性表的逻辑结构 ; 例如: 英文字母表(A, B, …, Z)就是一个简单的线性表,表中的每一个英文字母是一个数据元素, 每个元素之间存在唯一的顺序关系,如在英文字母表字母B的前面是字母A, 而字母B的后面是字母C。 在较为复杂的线性表中,数据元素(data elements) 可由若干数据项组成,如学生成绩表中,每个学生及其各科成绩是一个数据元素,它由学号、姓名、各科成绩及平均成绩等数据项(item) 组成, 常被称为一个记录(record) ,含有大量记录的线性表称为文件(file)。数据对象(data object)是性质相同的数据元素集合。 ;表2-1 车辆登记表 ; 线性表(Linear List)是由n (n≥0)个类型相同的数据元素a1, a2, …, an组成的有限序列,记作(a1, a2, …,ai-1,ai,ai+1, …,an)。这里的数据元素ai(1≤i≤n)只是一个抽象的符号,其具体含义在不同情况下可以不同, 它既可以是原子类型,也可以是结构类型但同一线性表中的数据元素必须属于同一数据对象。此外,线性表中相邻数据元素之间存在着序偶关系,即对于非空的线性表(a1, a2, …,ai-1, ai, ai+1, …, an), 表中ai-1 领先于ai,称ai-1 是ai的直接前驱,而称ai是 ai-1的直接后继。除了第一个元素a1外,每个元素ai有且仅有一个被称为其直接前驱的结点ai-1,除了最后一个元素an外,每个元素ai有且仅有一个被称为其直接后继的结点ai+1。 线性表中元素的个数n被定义为线性表的长度,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(a -i):
loc(ai) =loc(a1)+(i-1)×k
其中loc(a -1)称为基地址。 ;图2.2 顺序表存储示意图 ; 顺序存储结构可以借助于高级程序设计语言中的一堆数组来表示,一维数组的下标与元素在线性表中的序号相对应。线性表的顺序存储结构可用C语言定义如下: ;2.2.2 线性表顺序存储
您可能关注的文档
最近下载
- ISO 8178-1-2017 Reciprocating internal combustion engines Exhaust emission measurement Part 1:Test-bed measurement systems of gaseous and particulate emissions往复式内燃机排放测量第1部分: 气体和颗粒物排放测量系统(2-1).pdf
- 11J508 建筑玻璃应用构造-栏板隔断地板 吊顶 水下玻璃 挡烟垂壁图集.pdf
- 私立门诊财务管理制度.docx
- 触电事故典型案例分析.pptx
- 行政法与行政诉讼法(第七版)胡锦光-全套课件.pptx
- 丰田自工序完结培训资料.pdf VIP
- 德育课程体系.doc
- 海工试验报告.doc
- 废旧轮胎在道路工程中的应用课件.pptx VIP
- 静脉留置针健康宣传册.doc VIP
文档评论(0)