第5章数组和稀疏矩阵案例分析.ppt

* 第5章 数组和稀疏矩阵 5.1 数 组 5.1.1 数组的定义   一维数组是n(n1)个相同类型的数据元素a1,a2,…,an构成的有限序列,它本身就是一个线性表。二维数组可以看成是这样的一个定长线性表,它的每个数据元素也是一个定长线性表。   例如,以下的二维数组A以m行n列的矩阵形式表示,它可以看成是一个线性表的线性表:   几乎所有的程序设计语言都把数组类型设定为固有类型,数组一旦被定义,它的维数和每维大小就不再改变,其主要的基本运算是存取元素值和修改元素值。 5.1.2 数组的存储结构   以二维数组为例,在C/C++语言中,由于数组下标从0开始,所以除特别指出外,后面的数组表示均统一为下标从0开始。   二维数组的存储次序有按行优先和按列优先两种方式,按行优先存储的形式如下所示:   假设每个元素占k个存储单元,LOC(a0,0)表示a0,0元素的存储地址,对于元素ai,j,其存储地址为: 按列优先存储的形式如下所示: 对于元素ai,j,其存储地址为:   【例5.1】 对于二维数组A[0..2][0..5],当按行优先存储时,元素A[2][3]是第几个元素;当按列优先存储时,元素A[2][4]是第几个元素。   解:这里m=3,n=6,当按行优先存储时,元素A[2][3]的前面有2行计12个元素,在第2行中前面有3个元素,所以元素A[2][3]是1

文档评论(0)

1亿VIP精品文档

相关文档