学习教学教案第二章线性表2.28.ppt

学习教学教案第二章线性表2.28.ppt

ID:51525591

大小:2.51 MB

页数:122页

时间:2020-03-22

学习教学教案第二章线性表2.28.ppt_第1页
学习教学教案第二章线性表2.28.ppt_第2页
学习教学教案第二章线性表2.28.ppt_第3页
学习教学教案第二章线性表2.28.ppt_第4页
学习教学教案第二章线性表2.28.ppt_第5页
资源描述:

《学习教学教案第二章线性表2.28.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数据结构2线性表1线性表数据元素之间具有的逻辑关系为线性关系的数据元素集合称为线性表。一般表示为:A=(a1,a2,a3,......,an)n个元素的有限序列元素的个数n为线性表的长度,如果n=0,则为空表。线性关系如下:2.1线性表的基本概念(1)当1

2、)。读取线性表中第i个数据元素GET(L,i)。返回值为x的数据元素在线性表中的位置LOCATE(L,x)。5.在线性表的第i个位置上插入一个新的数据元素INSERT(L,x,i)。6.删除线性表中第i个数据元素DELETE(L,i)。7.对线性表中的数据元素进行升序或者降序排序。8.将两个或两个以上的线性表合并成为一个线性表。9.将一个线性表分解为两个或两个以上的线性表。3线性表【算法思路】依次输出线性表中的每个元素的值。算法举例2.1遍历线性表LvoidListTraverse(SqList*L){∥遍历线性表inti,n=Length(

3、L);if(!n)printf("空表");elsefor(i=1;i<=n;i++)printf("%d",GET(L,i));}∥ListTraverse4线性表算法举例2.2删除元素1357912346编写在线性表A中删除线性表B中出现的元素的算法。579【算法思路】依次检查线性表B中的每个元素,看它是否在线性表A中。若在A中,则将其从A中删除。5线性表voiddelete(Sqlist*A,Sqlist*B){inti,k;datatypex;for(i=1;i<=LENGTH(B);i++){x=GET(B,i);∥依次取线性表

4、B中的元素,存放在x中k=LOCATE(A,x);∥在线性表A中查找xif(k!=-1)DELETE(A,k);∥若在表A中找到,将其删除}∥if}∥delete6线性表算法举例2.3公共元素表编写将线性表A和B中公共元素生成线性表C的算法。135791234613【算法思路】先初始化线性表C,然后依次检查线性表A中的每个元素,看它是否在线性表B中;若在线性表B中,则将其插入到线性表C中。7线性表voidcommelem(SqList*A,SqList*B,SqList*C){inti,k,j=1;datatypex;SETNULL(C);∥

5、将表初始化为空表for(i=1;i<=LENGTH(A);i++){x=GET(A,i);∥依次取线性表A中的元素,存放在x中k=LOCATE(B,x);∥在线性表B中查找xif(k!=-1){INSERT(C,x,j);j++;}∥若在线性表B中找到则将其插入到C中}}∥commelem8线性表逻辑结构是本质通过上面的例子可以看出:逻辑结构是数据组织的某种"本质性"的东西:(1)逻辑结构与数据元素本身的形式、内容无关。(2)逻辑结构与数据元素的相对位置无关。(3)逻辑结构与所含数据元素的个数无关。算法的设计取决于选定的逻辑结构,而算法的实现

6、依赖于采用的存储结构。9线性表(a1,a2,a3,......,an)2.2线性表的顺序存储结构构造原理用一组地址连续的存储单元依次存储线性表的数据元素,数据元素之间的逻辑关系通过数据元素的存储位置直接反映。所谓一个元素的地址是指该元素占用的若干(连续的)存储单元的第一个单元的地址。a1a2a3……and1d2d3………dnk个单元LOC(ai)+k=10线性表结论若假设每个数据元素占用k个存储单元,并且已知第一个元素的存储位置LOC(a1),则有LOC(ai)=LOC(a1)+(i-1)*k例:LOC(a1)=100k=4求LOC(a5)=

7、?a1a2a3a4a5……an100104108112116LOC(a5)=100+(5-1)*4=116a1a2a3……an11线性表当前已经占用的空间a1a2a3……an-1an……012n-2n-1nn+1M-1尚未使用的空间事先分配给线性表的空间顺序存储结构示意图(a1,a2,a3,......,an)12线性表一般来说,长度为n的线性表(a1,a2,…,an)在计算机中的结构如下:typedefstruct{datatypedata[maxsize];∥定义线性表intlast;∥终端结点的位置}SqList;#definemaxs

8、ize1024typedefintdatatype;maxsize内存状态a1a2a3…an……maxsize-1012n-1last下标13线性表线性表的顺序表示

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。