数据结构第次课第二章线性表顺序表幻灯片.ppt
《数据结构第次课第二章线性表顺序表幻灯片.ppt》由会员分享,可在线阅读,更多相关《数据结构第次课第二章线性表顺序表幻灯片.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据结构第次课第二章线性表顺序表第1页,共42页,编辑于2022年,星期六2.1 线性表的逻辑结构线性表的逻辑结构 线性表:由线性表:由n(n0)个数据元素个数据元素(结点结点)a1,a2,an组组成的有限成的有限序列序列。其中数据元素的个数。其中数据元素的个数n定义为表的长度。当定义为表的长度。当n=0时称为空表,常常将非空的线性表时称为空表,常常将非空的线性表(n0)记作:记作:(a1,a2,an)这里的数据元素这里的数据元素ai(1in)只是一个抽象的符号,其具体只是一个抽象的符号,其具体含义在不同的情况下可以不同。含义在不同的情况下可以不同。例例1、26个英文字母组成的字母表个英文字母
2、组成的字母表 (A,B,C、Z)例例2、某校从某校从1978年到年到1983年各种型号的计算机拥有量的变化年各种型号的计算机拥有量的变化情况。情况。(6,17,28,50,92,188)线性结构是一个数据元素的有序(次序)集。这里的序不是指一定要是数值上的次序关系。第2页,共42页,编辑于2022年,星期六 .神经衰弱神经衰弱 17 男男790634张立立张立立 健康健康 21 男男790633刘建平刘建平 一般一般 20 女女790632陈陈 红红 健康健康 18 男男790631王小林王小林 健康情况健康情况年龄年龄性性 别别学学 号号姓姓 名名例例3 3、学生健康情况登记表如下:、学生健
3、康情况登记表如下:第3页,共42页,编辑于2022年,星期六 从以上例子可看出线性表的逻辑特征是:从以上例子可看出线性表的逻辑特征是:(1)对非空的线性表,有且仅有一个开始结点对非空的线性表,有且仅有一个开始结点a1,它没有直接前趋,它没有直接前趋,而仅有一个直接后继而仅有一个直接后继a2;(2)有且仅有一个终端结点有且仅有一个终端结点an,它没有直接后继,而仅有一个直接前趋它没有直接后继,而仅有一个直接前趋a n-1;(3)其余的内部结点其余的内部结点ai(2in-1)都有且仅有一个直接前趋都有且仅有一个直接前趋a i-1和一个直和一个直接后继接后继ai+1。线性表是一种典型的线性结构。线性
4、表是一种典型的线性结构。数据的运算是定义在逻辑结构上的,而运算的具体实现则是在存储结构数据的运算是定义在逻辑结构上的,而运算的具体实现则是在存储结构上进行的。上进行的。第4页,共42页,编辑于2022年,星期六抽象数据类型抽象数据类型线性表线性表的定义如下:的定义如下:ADT List 数据对象:数据对象:D ai|ai ElemSet,i=1,2,.,n,n0 称称 n 为线性表的为线性表的表长表长;称称 n=0 时的线性表为时的线性表为空表空表。数据关系:数据关系:R1|ai-1,aiD,i=2,.,n 设线性表为设线性表为(a1,a2,.,ai,.,an),称称 i 为为 ai 在线性表
5、中的在线性表中的位序位序。基本操作:基本操作:ADT List关系:相邻元素的有序对第5页,共42页,编辑于2022年,星期六 InitList(&L)操作结果:操作结果:构造一个空的线性表构造一个空的线性表 L。DestroyList(&L)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在。已存在。销毁线性表销毁线性表 L。构造n=0的线性表初始条件:操作前状态第6页,共42页,编辑于2022年,星期六 ListEmpty(L)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在。已存在。若若 L 为空表,则返回为空表,则返回TRUE,否则,否则FALSE。(线性
6、表判空)(线性表判空)第7页,共42页,编辑于2022年,星期六ListLength(L)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在。已存在。返回返回 L 中元素个数。中元素个数。(求线性表的长度)(求线性表的长度)第8页,共42页,编辑于2022年,星期六 PriorElem(L,cur_e,&pre_e)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在。已存在。若若 cur_e 是是 L 的元素,则用的元素,则用pre_e 返回它的前驱,否则操返回它的前驱,否则操作失败,作失败,pre_e无定义。无定义。(求数据元素的前驱)(求数据元素的前驱)当不是第
7、一个元素时,则存在,否则不存在该元素或是表的第一个元素,无定义。第9页,共42页,编辑于2022年,星期六NextElem(L,cur_e,&next_e)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在。已存在。若若 cur_e 是是 L 的元素,则用的元素,则用next_e 返回它的后继,否则操返回它的后继,否则操作失败,作失败,next_e无定义。无定义。(求数据元素的后继)(求数据元素的后继)第10页,共42页,编辑于2022年,星期六GetElem(L,i,&e)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在,已存在,用用 e 返回返回L中第中第 i
8、 个元素的值。个元素的值。(求线性表中某个数据元素)(求线性表中某个数据元素)且且 1iLengthList(L)第11页,共42页,编辑于2022年,星期六LocateElem(L,e,compare()初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在,已存在,e e 为给定值,为给定值,compare()是元素判定函数。是元素判定函数。返回返回 L 中第中第 1 个与个与 e 满足关系满足关系 compare()的元素的的元素的位序位序。若这样的元素不存在,则返回值为若这样的元素不存在,则返回值为 0。(定位函数)(定位函数)第12页,共42页,编辑于2022年,星期六 L
9、istTraverse(L,visit()初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在。已存在。visit()为某个访问函数。为某个访问函数。依次依次对对 L 中中每个元素调用每个元素调用函数函数visit()。一旦。一旦 visit()失败,失败,则操作失败。则操作失败。(遍历线性表)(遍历线性表)引用性操作不改变原表的结构第13页,共42页,编辑于2022年,星期六ClearList(&L)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在。已存在。将将 L 重置为空表。重置为空表。(线性表置空)(线性表置空)第14页,共42页,编辑于2022年,星期六P
10、utElem(&L,i,&e)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在,已存在,L 中第中第 i 个元素赋值个元素赋值 e e。(改变数据元素的值)(改变数据元素的值)且且 1iLengthList(L)第15页,共42页,编辑于2022年,星期六 ListInsert(&L,i,e)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在已存在,在在 L 的第的第 i 个元素之前个元素之前插入插入新的元素新的元素 e,L 的长度增的长度增1。(插入数据元素)(插入数据元素)且且 1iLengthList(L)+1改变了元素之间的关系第16页,共42页,编辑于2
11、022年,星期六ListDelete(&L,i,&e)初始条件:初始条件:操作结果:操作结果:线性表线性表 L 已存在且非空,已存在且非空,删除删除 L 的第的第 i 个元素,并用个元素,并用 e 返回其值,返回其值,L 的长度减的长度减1。(删除数据元素)(删除数据元素)1iLengthList(L)第17页,共42页,编辑于2022年,星期六利用上述定义的利用上述定义的线性表类型线性表类型 可以实现其它更复杂的操作可以实现其它更复杂的操作例例 2-1第18页,共42页,编辑于2022年,星期六 假设假设:有两个集合有两个集合 A 和和 B 分别用两分别用两个线性表个线性表 LA 和和 LB
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据结构 第次课 第二 线性 顺序 幻灯片
限制150内