数据结构C语言版第5章数组和广义表

数据结构C语言版第5章数组和广义表

ID:37791818

大小:1.21 MB

页数:64页

时间:2019-05-31

数据结构C语言版第5章数组和广义表_第1页
数据结构C语言版第5章数组和广义表_第2页
数据结构C语言版第5章数组和广义表_第3页
数据结构C语言版第5章数组和广义表_第4页
数据结构C语言版第5章数组和广义表_第5页
资源描述:

《数据结构C语言版第5章数组和广义表》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、数组和广义表1、数组的定义和顺序存储方式;2、特殊矩阵的压缩存储;3、稀疏矩阵;4、广义表的概念、表示及基本操作;广义表存储结构的实现。教学内容5.1数组的定义数组:按一定格式排列起来的具有相同类型的数据元素的集合。一维数组:若线性表中的数据元素为非结构的简单元素,则称为一维数组。一维数组的逻辑结构:线性结构。定长的线性表。声明格式:数据类型变量名称[长度];例:intnum[5]={0,1,2,3,4};二维数组:若一维数组中的数据元素又是一维数组结构,则称为二维数组。非线性结构num[5]={0,1,2,3

2、,4};A=(0,1,…,p)(p=m-1orn-1)j=(a0j,a1j,…,am-1,j)0≤j≤n-1i=(ai0,ai1,…,ai,n-1)0≤i≤m-1二维数组的逻辑结构线性结构定长的线性表每一个数据元素既在一个行表中,又在一个列表中。该线性表的每个数据元素也是一个定长的线性表。在C语言中,一个二维数组类型也可以定义为一维数组类型(其分量类型为一维数组类型),即:typedefelemtypearray2[m][n];等价于:typedefelemtypearray1[n];typedefa

3、rray1array2[m];声明格式:数据类型变量名称[行数][列数];例:intnum[5][8];三维数组:若二维数组中的元素又是一个一维数组结构,则称作三维数组。…n维数组:若n-1维数组中的元素又是一个一维数组结构,则称作n维数组。线性表结构是数组结构的一个特例,而数组结构又是线性表结构的扩展。结论数组特点:结构固定——定义后,维数和维界不再改变。数组基本操作:除了结构的初始化和销毁之外,只有取元素和修改元素值的操作。数组的抽象数据类型的定义ADTArray{数据对象:D={aj1j2…jn

4、ji=0

5、,...,bi-1,i=1,2,..,n,n(>0)称为数组的维数,bi是数组第i维的长度,ji是数组元素的第i维下标,aj1j2…jn∈ElemSet}数据关系:R={R1,R2,...,Rn}Ri={

6、0≤jk≤bk-1,1≤k≤n且k≠i,0≤ji≤bi-2,aj1…ji…jn,aj1…ji+1…jn∈D,i=2,...,n}数据对象:D={aij

7、0≤i≤b1-1,0≤j≤b2-1}数据关系:R={ROW,COL}ROW={

8、1,j>

9、0≤i≤b1-2,0≤j≤b2-1}COL={

10、0≤i≤b1-1,0≤j≤b2-2}二维数组的抽象数据类型的数据对象和数据关系的定义基本操作:InitArray(&A,n,bound1,...,boundn)操作结果:若维数n和各维长度合法,则构造相应的数组A,并返回OK。DestroyArray(&A)操作结果:销毁数组A。Value(A,&e,index1,...,indexn)初始条件:A是n维数组,e为元素变量,随后是n个下标值。操作结果:若各下标不超界,则e赋值为所

11、指定的A的元素值,并返回OK。Assign(&A,e,index1,...,indexn)初始条件:A是n维数组,e为元素变量,随后是n个下标值。操作结果:若下标不超界,则将e的值赋给所指定的A的元素,并返回OK。}ADTArray数组特点:结构固定——维数和维界不变。数组基本操作:初始化、销毁、取元素、修改元素值。5.2数组的顺序表示和实现一般不做插入和删除操作。因为所以:一般都是采用顺序存储结构来表示数组。注意:数组可以是多维的,但存储数据元素的内存单元地址是一维的,因此,在存储数组结构之前,需要解决将多维

12、关系映射到一维关系的问题。两种顺序存储方式以行序为主序(低下标优先)BASIC、COBOL和PASCAL以列序为主序(高下标优先)FORTRAN以行序为主序存放:am-1,n-1……..am-1,1am-1,0……….a1,n-1……..a11a10a0,n-1…….a01a0001n-1m*n-1n二维数组中任一元素aij的存储位置LOC(i,j)=LOC(0,0)+(b2×i+j)×L某个元素的地址就是它前面所有行所占的单元加上它所在行前面所有列元素所占的单元数之和。基地址或基址二维数组的映象函数a00a0

13、1……..a0,n-1a10a11……..a1,n-1am-1,0am-1,1……..am-1,n-1………………….按列序为主序存放01m-1m*n-1mam-1,n-1……..a1,n-1a0,n-1……….am-1,1……..a11a01am-1,0…….a10a00a00a01……..a0,n-1a10a11……..a1,n-1am-1,0am-1,1……..am-1,n-1…

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

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

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