《线性表顺序表》PPT课件.ppt
《《线性表顺序表》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《线性表顺序表》PPT课件.ppt(26页珍藏版)》请在三一办公上搜索。
1、1,第2章 线性表,2.1 线性表的类型定义2.2 线性表的顺序表示和实现2.3 线性表的链式表示和实现2.4 一元多项式的表示及相加,2,2.1 线性表的类型定义,线性表的概念 线性表的逻辑结构是具有相同类型的n个数据元素的有限序列:L=(D,R)其中R为D上的一个二元关系D=a1,a2,an R=|1in-1,aiD,有序对,ai(i=1,.,n)是属于某数据对象的元素,n为线性表的长度(n0),n=0的表称为空表。,例 英文字母表(A,B,C,.Z)是一个线性表,3,线性表的结构特点(1)所有数据元素ai在同一个线性表中必须是相同的数据类型;(2)在非空线性表中必存在唯一的一个称为“头”
2、的元素;(3)在非空线性表中必存在唯一的一个称为“尾”的元素;(4)除“头”外,每个元素都有且只有一个前驱元素。(5)除“尾”外,每个元素都有且只有一个后继元素。,2.1 线性表的类型定义,4,顺序存储结构(顺序表)用一组地址连续的存储单元依次存放线性表的数据元素,称为线性表的顺序存储结构。地址计算:设每个元素占L个单元,并以所占的第一个单元的存储地址作为数据元素的存储位置。则线性表中第i+1个数据元素的存储位置LOC(ai+1)=LOC(ai)+L 线性表的第i个数据元素ai 的存储位置为 LOC(ai)=LOC(a1)+(i-1)*L LOC(a1)通常称作线性表的起始位置或基地址。,2.
3、2 线性表的顺序表示和实现,5,特点:(1)逻辑上相邻的数据元素在物理上也相邻;(2)是顺序存储结构、随机存取数据元素。这种存储结构只要知道元素的序号,就很容易找到第i个数据元素,且无论序号i为何值,找到第i个元素所需时间相同。,2.2 线性表的顺序表示和实现,6,表示方式:数组表示:注意:C语言中,数组下标从0开始。#define MAX 100/常量定义 datatype dataMAX;int length;,datatype为抽象数据类型,可用int,float,double,char 或结构体类型代替。如:typedef int datatype,length为顺序表当前长度,2.2
4、 线性表的顺序表示和实现,7,a1,a2,an,0,1,n-1,1,2,n,内存,数组下标,元素序号,Max-1,#define Max 100int dataMax;int n;,例 typedef struct student int num;char name20;int age;float score;datatype;#define Max 100datatype class1Max;int n;,数据元素不是简单类型时,可定义结构体数组,8,表示方式:将length与data封装在一起,单独定义一种顺序表类型用结构体建立。,例#define MAX 1000 typedef str
5、uct int dataMAX;int length;SeqList;,如何声明变量(顺序表)L?SeqList L;L.length=2;L.data0=91;L.data1=82;,SeqList即为顺序表类型,可用该类型建立很多顺序表。,思考:如何定义学生的顺序表?,2.2 线性表的顺序表示和实现,9,#define MAX 1000 typedef struct student int num;char name20;int age;float score;stu;typedef struct List stu dataMAX;int length;SeqList;,如何定义学生的顺序
6、表?,#define MAX 1000struct student int num;char name20;int age;float score;typedef struct List struct student dataMAX;int length;SeqList;,SeqList class;class.data0.num=9608066class.data0.age=18 class.data0.score=99.5,2.2 线性表的顺序表示和实现,10,表示方式:,用指针方式定义一个顺序表S:(参照C语言课本指向结构体变量的指针)SeqList*S;/*S为指向某个顺序表的指针*/
7、S=(SeqList*)malloc(sizeof(SeqList);/*动态申请内存*/(*S).length=10;/*顺序表的表长或S-length 表示*/S-data9=91;(*S).data9=91 free(S);/*释放内存*/,表中数据元素的存储空间为S-data0 S-data S-n-1,例#define MAX 1000 typedef struct int dataMAX;int length;SeqList;,2.2 线性表的顺序表示和实现,11,顺序表的操作 建立顺序表1)问题描述:建立一个线性表(a1,a2,.,an),长度为n。2)建立过程:先输入线性表长度
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 线性表顺序表 线性 顺序 PPT 课件
链接地址:https://www.31ppt.com/p-5589501.html