浙江大学:《数据结构与算法》第二章(2-1) 线性表的类型定义

第二章线性表 2.1线性表的类型定义 2.2线性表的顺序表示与实现 2.3线性表的链式表示与实现 2.3.1线性链表 2.3.2循环链表 2.3.3双向链表
第二章 线性表 ◼ 2.1 线性表的类型定义 ◼ 2.2 线性表的顺序表示与实现 ◼ 2.3 线性表的链式表示与实现 ◼ 2.3.1 线性链表 ◼ 2.3.2 循环链表 ◼ 2.3.3 双向链表

第二章线性表 ■线性结构的特点是 存在唯一的”第一个”数据元素; 存在唯一的”最后一个”数据元素; 除第一个外,每个数据元素均有且只有一个前驱 元素; n除最后一个外每个数据元素均有且只有一个后 继元素
第二章 线性表 ◼ 线性结构的特点是: ◼ 存在唯一的”第一个”数据元素; ◼ 存在唯一的”最后一个”数据元素; ◼ 除第一个外,每个数据元素均有且只有一个前驱 元素; ◼ 除最后一个外,每个数据元素均有且只有一个后 继元素

2.1线性表的类型定义 ■线性表举例 字母表(A,B,C,,X,Y,Z ■数据序列(6,17,28,50,92,188) n个元素的线性表: a 15a2··aiai+19·9an 第一个元素 第i个元素 (没有前驱) 最后一个元素 有唯一的前驱(没有后继) 和唯一的后继)
2.1 线性表的类型定义 ◼ 线性表举例: ◼ 字母表 (A,B,C,…,X,Y,Z) ◼ 数据序列 (6,17,28,50,92,188) ◼ n个元素的线性表: ◼ (a1 , a2 ,…, ai , ai+1, …, an) 第一个元素 (没有前驱) 第i个元素 (有唯一的前驱 和唯一的后继) 最后一个元素 (没有后继)

线性表的抽象数据类型(ADT) ADT List 数据对象:D={a1a1属于 Elemnet,(i=1,2,…,n, n≥0) n数据关系:R1={|a1,a,属于D(i=2,3,,n)} 基本操作: InitList(&l); Destroylist(&l); ListInsert(&L, i,e); ListDelete (&l, i, &e); 等等 ■} ADT List
线性表的抽象数据类型(ADT) ◼ ADT List{ ◼ 数据对象:D = {ai | ai属于Elemset, (i=1,2,…,n, n≥0)} ◼ 数据关系:R1 = {<ai-1 ,ai>|ai-1 ,ai属于D,(i=2,3,…,n)} ◼ 基本操作: ◼ InitList(&L); DestroyList(&L); ◼ ListInsert(&L,i,e); ListDelete(&L,i,&e); ◼ 等等 ◼ } ADT List

线性表ADT的基本操作: Initlist(&l); Destroy list(&l); Clearlist(&l); listempty l); Listlength L); GetElem(L, i, &e); LocateElem(l, e, compareD PriorElem(L, cur e, &pre e) NextElem(L, cur e, &next e); ListInsert(&l, i, e); ListDelete(&l, i, &e) ListTraverse(&l, visited
◼ InitList(&L); DestroyList(&L); ◼ ClearList(&L); ListEmpty(L); ◼ ListLength(L); GetElem(L, i, &e); ◼ LocateElem(L, e, compare()); ◼ PriorElem(L, cur_e, &pre_e); ◼ NextElem(L, cur_e, &next_e); ◼ ListInsert(&L, i, e); ListDelete(&L, i, &e); ◼ ListTraverse(&L, visited()) 线性表ADT的基本操作:

基本操作(一): Initlist(&l) 操作结果构造一个空的线性表L。 Destroylist(&l) 初始条件:线性表L已经存在。 操作结果:销毁线性表L Clearlist(&l) 初始条件:线性表L已经存在。 操作结果:将线性表L重置为空表
◼ InitList(&L) ◼ 操作结果:构造一个空的线性表L。 ◼ DestroyList(&L) ◼ 初始条件: 线性表L已经存在。 ◼ 操作结果: 销毁线性表L。 ◼ ClearList(&L) ◼ 初始条件: 线性表L已经存在。 ◼ 操作结果: 将线性表L重置为空表。 基本操作(一):

基本操作(二) ListEmpty( L) 初始条件:线性表L已经存在。 操作结果:若线性表L为空表,则返回 TURE否则返回 FALSE。 Listlength(l) 初始条件:线性表L已经存在 操作结果:返回线性表L中的数据元素个数
◼ ListEmpty(L) ◼ 初始条件: 线性表L已经存在。 ◼ 操作结果: 若线性表L为空表,则返回 TURE;否则返回FALSE。 ◼ ListLength(L) ◼ 初始条件: 线性表L已经存在。 ◼ 操作结果: 返回线性表L中的数据元素个数。 基本操作(二):

基本操作(三 Getelen(L,i,&e);初始条件:线性表L已经存 在,1<== ListLength(L)。 ■操作结果:用e返回线性表L中第i个数据元素的值。 Locateelem(L, e, compare) 初始条件:线性表L已经存在, compare()是数据元 素判定函数。 ■操作结果:返L中第1个与e满足 compare()的数据 元素的位序。若这样的数据元素不存在则返回值为 0
◼ GetElem(L, i, &e); 初始条件: 线性表L已经存 在,1<=i<= ListLength(L)。 ◼ 操作结果: 用e返回线性表L中第i个数据元素的值。 ◼ LocateElem(L, e, compare()) ◼ 初始条件: 线性表L已经存在,compare()是数据元 素判定函数。 ◼ 操作结果: 返回L中第1个与e满足compare()的数据 元素的位序。若这样的数据元素不存在则返回值为 0。 基本操作(三):

基本操作四) PriorElem(L, cur e, &pre e) 初始条件:线性表L已经存在。 操作结果:若cure是L的数据元素,且不是第一个,则 用pree返回它的前驱否则操作失败;pree无意义。 NextElem L, cur e, &next e ■初始条件:线性表L已经存在 操作结果:若cure是L的数据元素,且不是第最后个 则用 next e返回它的后继否则操作失败, next e无 意义
◼ 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无 意义。 基本操作(四):

基本操作(五) ListInsert(&l, i, e) 初始条件:线性表L已经存在,1<=<= Listlength(L)+1。 操作结果:在L的第i个位置之前插入新的数据元素e L的长度加 插入前(长度为n) a1.a a-1 插入后(长度为n+1) a1.a 25···ai-1
◼ ListInsert(&L, i, e) ◼ 初始条件: 线性表L已经存在,1<=i<= ListLength(L)+1。 ◼ 操作结果: 在L的第i个位置之前插入新的数据元素e, L的长度加一。 ◼ 插入前(长度为n) : ◼ (a1 ,a2 ,…, ai-1 , ai ,…,an) ◼ 插入后(长度为n+1) : ◼ (a1 ,a2 ,…, ai-1 ,e,ai , …,an) 基本操作(五):
按次数下载不扣除下载券;
注册用户24小时内重复下载只扣除一次;
顺序:VIP每日次数-->可用次数-->下载券;
- 浙江大学:《数据结构与算法》第二章(2-3) 线性表的链式表示与实现.ppt
- 浙江大学:《数据结构与算法》课程简介.doc
- 浙江大学:《数据结构与算法》第一章 绪论.ppt
- 浙江大学:《数据结构与算法》实验要求与指导.doc
- 浙江大学:《数据结构与算法》任课教师登记表.doc
- 浙江大学:《数据结构与算法》教学(实验)周历.doc
- 浙江大学:《数据结构与算法》教学大纲.doc
- 《Auto CAD 2002中文版应用教程》第9章 文字标注.pps
- 《Auto CAD 2002中文版应用教程》第8章 图案填充.pps
- 《Auto CAD 2002中文版应用教程》第7章 块与外部参照.pps
- 《Auto CAD 2002中文版应用教程》第6章 图形编辑.pps
- 《Auto CAD 2002中文版应用教程》第5章 绘制图形.pps
- 《Auto CAD 2002中文版应用教程》第4章 图层、线型及颜色.pps
- 《Auto CAD 2002中文版应用教程》第3章 绘图设置.pps
- 《Auto CAD 2002中文版应用教程》第2章 绘图基础.pps
- 《Auto CAD 2002中文版应用教程》第1章 概述.pps
- 《Auto CAD 2002中文版应用教程》第13章 专业绘图技巧.pps
- 《Auto CAD 2002中文版应用教程》第12章 图形输出.pps
- 《AutoCAD 2002中文版应用教程》第11章 三维绘图.pps
- 《Auto CAD 2002中文版应用教程》第10章 尺寸标注.pps
- 浙江大学:《数据结构与算法》第三章(3-1) 栈.ppt
- 浙江大学:《数据结构与算法》第三章(3-2) 栈的应用举例.ppt
- 浙江大学:《数据结构与算法》教学(讲课)周历.doc
- 浙江大学:《数据结构与算法》第六章(6-3) 遍历二叉树和线索二叉树.ppt
- 浙江大学:《数据结构与算法》第五章(5-1) 数组的定义.ppt
- 浙江大学:《数据结构与算法》第五章(5-3) 矩阵的压缩存储.ppt
- 浙江大学:《数据结构与算法》第六章(6-1) 树的定义和基本术语.ppt
- 浙江大学:《数据结构与算法》第七章(7-5) 有向无环图及其应用.ppt
- 浙江大学:《数据结构与算法》第四章(4-1) 串类型的定义.ppt
- 浙江大学:《数据结构与算法》第九章 查找.ppt
- 浙江大学:《数据结构与算法》第七章 图.ppt
- 浙江大学:《数据结构与算法》第十章 内部排序.ppt
- 浙江大学:《数据结构与算法》第六章(6-4) 树和森林.ppt
- 《Struts在行动 使用领先的Java框架构建Web应用》讲义.pdf
- 《网络系统集成技术》第10章 基于Web的应用系统开发技术.ppt
- 《网络系统集成技术》第11章 网络系统集成的规划与设计.ppt
- 《网络系统集成技术》第12章 大学校园网系统集成实例.ppt
- 《网络系统集成技术》第1章 网络系统集成概述.ppt
- 《网络系统集成技术》第2章 网络基础知识.ppt
- 《网络系统集成技术》第3章 常用的网络技术.ppt