- 1、本文档共92页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
数据结构第4.5.6讲线性表
不同的数据结构其操作集不同,但下列操作必不可缺: 1.结构的生成; 2.结构的销毁; 3.在结构中查找满足规定条件的数据元素; 4.在结构中插入新的数据元素; 5.删除结构中已经存在的数据元素; 6.遍历。 3.1 线性表的基本概念及运算 线性表是由n(n≥0)个数据元素a1a2…an 组成的一个有限序列。表中的每一个数据元素,除了第一个外,有且只有一个前件(直接前趋);除了最后一个外,有且只有一个后件(直接后继)。即线性表或是一个空表,或可以表示为:(a1,a2,…,ai,…,an) 其中ai (i = 1,2,…,n)是属于数据对象的元素,通常也称其为线性表中的一个结点。 线性表的长度及空表定义: 线性表中数据元素的个数n(n≥0)定义为线性表的长度。 当线性表的长度为0 时,称为空表。 ai 是第i个数据元素,称i为ai 在线性表中的位序。 例3.1-1:某班的学生情况登记表, 如表所示。 学生情况登记表中每一个学生的情况称为一个记录,或者结点。 6. Insert(L,x,i) 插入,在L中第i个位置前插入值为x的元素。使得原编号为i,i+1,…n的数据元素变为编号为i+1,i+2,…,n+1的数据元素。表长加1。 7. Delete(L,i) 删除,删除表L中第i个数据元素。使得原编 号为i+1,i+2,…,n 的数据元素变为编号为i,i+1,…n的 数据元素。表长减1。 8. Prior(L,ai) 取直接前趋,取ai的直接前趋元素的值,且2=i=n,则存在前驱结点。 9. Next(L,ai) 取直接后继,取ai的直接后继元素的值,且1=i=n-1 ,则存在后继结点。 说明: (1) 每个基本运算用一个函数来表示。 (2) L是指向线性表结构的指针。 void purge (sequenlist *L) { i=1, j; //位序的初值为1 datatype x, y; while (iLength(L)) //每次循环使当前第i结点是无重复值的结点 { x=Get(L,i); //取ai赋给x j=i+1; while(j=Length(L)) //将ai之后的各结点aj与ai比较,若aj 与ai相同, 则删除aj { y=Get(L,j); //取aj赋给y if(x= =y) Delete(L,j); //相同,删除aj else j++; //不同,准备取下一个aj } i++; } } 3.2 顺序表 3.2.1 顺序表的定义 线性表的一种最简单的存储方法是顺序存储,也称为顺序分配,即在计算机内存中用一组地址连续的存储单元依次存储线性表中的各个数据元素,称为线性表的顺序存储结构。顺序存储的线性表简称为顺序表。 线性表的顺序存储结构具有以下两个基本特点: ① 线性表中所有元素所占的存储空间是连续的。 ② 线性表中各数据元素在存储空间中是按逻辑顺序依次 存放的。 假设线性表的每个数据元素需占用C个存储单元,并以所占的第一个单元的存储地址作为数据元素的起始存储位置,则线性表的第i个元素ai的存储位置为: Loc(ai) = Loc(a1)+(i-1)*C 其中Loc(a1)是顺序表的第一个数据元素a1的存储位置,通常称作顺序表的起始位置或基地址。 线性表中第i+1个数据元素的存储位置Loc(ai+1)和第i个数据元素的存储位置Loc(ai)之间满足下列关系: Loc(ai+1) = Loc(ai)+C 1≤i≤n 根据线性表的顺序存储结构的特点,只要确定了存储线性表的起始位置,线性表中任一数据元素都可随机存取,所以,线性表的顺序存储结构是一种随机存取的存储结构,可以对顺序表进行顺序存取或随机存取。 void purge (sequenlist *L) { int i=1, j, k ; /*位序的初值为1*/ while (iL-last) /*每次循环使当前第i结点是无重复值的结点*/ { j=i+1; while(j= L-last) /*将ai之后的各结点aj与ai比较,若aj 与ai相 同,则删除aj */
您可能关注的文档
- 数据结构ppt及练习.doc
- 数据结构_数据结构6.ppt
- 数据结构——单链表.ppt
- 数据结构——第10章外排序(C#).ppt
- 数据结构与算法上机实验报告.doc
- 数据结构作业习题.ppt
- 数据结构复习指导_2017.ppt
- 数据结构复习答案2017.doc
- 数据结构复习题-第10章答案2017-6-16.doc
- 数据结构实验报告——顺序表链表的实现.doc
- 二零二四年度信用担保合同及担保人责任规定.docx
- 二零二四年度出境领队旅游行程保险代理合同.docx
- 二零二四年度党建与企业风险管理合作协议.docx
- 二零二四年度信用担保贷款借款合同.docx
- 四川省乐山市马边县2022—2023学年七年级上学期期末考试地理生物试题.docx
- Unit+4+单元单词词汇短语语法句型知识点复习-2024-2025学年九年级英语全一册单元重难点易错题精练(人教版).docx
- Unit+3+-+4+语法综合练习+形容词、副词的原级、比较级和最高级+2024-2025学年人教版八年级英语上册.docx
- 第15讲 三角形课件2025年中考数学人教版(内蒙古)一轮复习.pptx
- 第13讲 二次函数(二)课件2025年中考数学人教版(内蒙古)一轮复习.pptx
- 2025版中考历史复习课件 06 板块三 第六单元 科技文化与社会生活.pptx
文档评论(0)