数据结构02-线性表.ppt_第1页
数据结构02-线性表.ppt_第2页
数据结构02-线性表.ppt_第3页
数据结构02-线性表.ppt_第4页
数据结构02-线性表.ppt_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第2章线性表数据结构主讲教师:祝建华华中科技大学计算机学院22.1线性表的定义2.1.1线性表的逻辑结构1.线性表:由n(n0)个数据元素(a1,a2,.,an)构成的有限序列。记作:L=(a1,a2,.,an)a1首元素an尾元素2.表的长度(表长)线性表中数据元素的数目。3.空表不含数据元素的线性表。华中科技大学计算机学院3线性表举例:例1.字母表L1=(A,B,C,.,Z)表长26例2.姓名表L2=(李明,陈小平,王林,周爱玲)表长4例3.图书登记表序号书名作者单价(元)数量(册)1C语言程序设计谭浩强301002数据结构严蔚敏22120n数据库系统原理王珊3560表长:n华中科技大学计算机学院4对于L=(a1,a2,.,ai-1,ai,ai+1,.,an)1.ai-1在ai之前,称ai-1是ai的直接前驱(1in)2.ai+1在ai之后,称ai+1是ai的直接后继(1in)3.a1没有前驱4.an没有后继5.ai(1in)有且仅有一个直接前驱和一个直接后继线性表的特征:华中科技大学计算机学院52.1.2抽象数据类型线性表的定义ADJList数据对象:D=ai|aiElemSet,i=1,2,.n,n=0数据关系:R1=|ai-1,aiD,i=2,.n基本操作:1.IniList(&L)/构造空表L。2.LengthList(L)/求表L的长度3.GetElem(L,i,&e)/取元素ai,由e返回ai4.PriorElem(L,ce,&pre_e)/求ce的前驱,由pre_e返回5.InsertElem(&L,i,e)/在元素ai之前插入新元素e6.DeleteElem(&L,i)/删除第i个元素7.EmptyList(L)/判断L是否为空表8.ClearList(&L)/置L为空表.ADJList华中科技大学计算机学院6说明1.删除表L中第i个数据元素(1=i=n),记作:DeleteElem(&L,i)L=(a1,a2,.,ai-1,ai,ai+1,.,an)指定序号i,删除aiL=(a1,a2,.,ai-1,ai+1,.,an)2.指定元素值x,删除表L中的值为x的元素,记作:DeleteElem(&L,x);3.在元素ai之前插入新元素e(1=i=n+1)L=(a1,a2,.,ai-1,ai,.,an)插入eL=(a1,a2,.,ai-1,e,ai,.,an)4.查找-确定元素值(或数据项的值)为e的元素。给定:L=(a1,a2,.,ai,.,an)和元素e若有一个ai=e,则称“查找成功”,i=1,2,.,n否则,称“查找失败”。华中科技大学计算机学院75.排序-按元素值或某个数据项值的递增(或递减)次序重新排列表中各元素的位置。例.排序前:L=(90,60,80,10,20,30)排序后:L=(10,20,30,60,80,90)L变为有序表6.将表La和表Lb合并为表Lc例.设有序表:La=(2,14,20,45,80)Lb=(8,10,19,20,22,85,90)合并为表Lc=(2,8,10,14,19,20,20,22,45,80,85,90)7.将表La复制为表LbLa=(2,14,20,45,80)Lb=(2,14,20,45,80)华中科技大学计算机学院8可利用现有操作组成更复杂的操作:例:将线性表Lb中的,且不在线性表La数据元素合并到线性La中。voidunion(List&La,List&Lb)La_len=List_length(La);/求线性表La的长度Lb_len=List_length(Lb);/求线性表Lb的长度for(i=1;i=Lb_len;i+)GetElem(Lb,i,e);/取Lb的的第i个数据元素赋给e/即依次取出Lb中的所有元素if(!LocateElem(La,e,equal)/判断e在La中是否存在ListInsert(La,+La_len,e);/不存在则插入华中科技大学计算机学院92.2线性表的顺序表示(顺序存储结构)2.2.1.顺序分配将线性表中的数据元素依次存放到计算机存储器中一组地址连续的存储单元中,这种分配方式称为顺序分配或顺序映像。由此得到的存储结构称为顺序存储结构或向量(一维数组)。例.线性表:a=(30,40,10,55,24,80,66)内存状态C语言中静态一维数组

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论