资源描述:
《数据结构-数组的顺序存储结构》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、数组(Array)数组是同学们所熟悉的一种原子数据类型,几乎所有的计算机高级语言都把数组类型设定为基本的数据类型。本节主要讨论数组在计算机中的顺序存储结构。数组的顺序存储结构二维数组的ADT定义ADTArray_2{D={ai,j
2、ai,j∈ElemSet,0≤i≤b1-1,0≤j≤b2-1}R={R1,R2}R1={
3、ai,j,ai+1,j∈D,0≤i≤b1-2,0≤j≤b2-1}R2={
4、ai,j,ai,j+1∈D,0≤i≤b1-1,0≤j≤b2-2}基本操作P:InitArr
5、ay(&A,b1,b2);DestroyArray(&A);ValueArray(A,&e,index1,index2);AssignArray(&A,e,index1,index2);}ADTArray_2二维数组的物理存储结构a0,0a0,1a0,2…………………..a0,b2-1a1,0a1,1a1,2…………………..a1,b2-1a2,0a2,1a2,2…………………..a2,b2-1ab1-1,0ab1-1,1…………………….ab1-1,b2-1二维数组的一般形式::以行顺序为主存放二维数组a0,0a0,1a0,2..
6、....a0,b2-1a1,0a1,1a1,2......ai,j......ab1-1,b2-1若一个ai,j占用L个存储单元,则以行序为主序的顺序存储结构下ai,j的地址计算公式:LOC(i,j)=LOC(0,0)+(i*b2+j)*L二维数组的物理存储结构a0,0a0,1a0,2…………………..a0,b2-1a1,0a1,1a1,2…………………..a1,b2-1a2,0a2,1a2,2…………………..a2,b2-1ab1-1,0ab1-1,1…………………….ab1-1,b2-1二维数组的一般形式::以列顺序为主存放二维
7、数组a0,0a1,0a2,0......ab1-1,0a0,1a1,1a2,1......ai,j......ab1-1,b2-1若一个ai,j占用L个存储单元,则以列序为主序的顺序存储结构下ai,j的地址计算公式:LOC(i,j)=LOC(0,0)+(j*b1+i)*L由于数组是大多数程序设计语言的固有数据类型(原子类型),其基本操作的实现在此不做深入讨论。作业:1.设一个系统中二维数组采用行序为主的顺序存储结构存储,已知二维数组a[10][8]中每个数据元素占用4个存储单元,且第一个数据元素的存储首地址为1000,求a[4][5
8、]的存储地址。2.按行优先顺序存储的顺序存储结构存储,试写出三维数组a[i][j][k]的地址计算公式(假设每个数组元素占用l个存储单元,a[0][0][0]的存储地址设为Loc(a[0][0][0]))。END返回