多维数组 多维数组是一维数组的推广 多维数组是一种非线性结构。其特 点是每一个数据元素可以有多个直 接前驱和多个直接后继 数组元素的下标一般具有固定的下 界和上界,因此它比其他复杂的非 线性结构简单
多维数组 ◼ 多维数组是一维数组的推广 ◼ 多维数组是一种非线性结构。其特 点是每一个数据元素可以有多个直 接前驱和多个直接后继。 ◼ 数组元素的下标一般具有固定的下 界和上界,因此它比其他复杂的非 线性结构简单
二维数组 三维数组 m1=5m2=4m3=6 m3 a[2][2] 3×4×6 2×6 2 m1 a[3][22] 行向量下标i 页向量下标i 列向量下标j行向量下标j 列向量下标k
二维数组 三维数组 行向量 下标 i 页向量 下标 i 列向量 下标 j 行向量 下标 j 列向量 下标 k
二维数组 a0[0a01[1 a0[m-1 10]a1[1 1m-1 =a20J(2 a2[m-1 an-10a[n-11]…aln-1l[m-1 行优先存放: 设数组开始存放位置LOC(0,0)=a,每 个元素占用d个存储单元 LOC (,k=a+(*m+k)*d
− − − − − − − = [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] [ ][ ] 1 0 1 1 1 1 2 0 2 1 2 1 1 0 1 1 1 1 0 0 0 1 0 1 a n a n a n m a a a m a a a m a a a m a ◼ 二维数组 行优先存放: 设数组开始存放位置LOC( 0, 0 ) = a, 每 个元素占用 d 个存储单元 LOC ( j, k ) = a + ( j * m + k ) * d