5.1.2 数组的顺序存储表示

  类似地,假设三维数组 R[p][m][n] 中每个数据元素占 L 个存储地址,并以 LOC(i,j,k) 表示下标为(i,j,k) 的数据元素的存储地址,则该数组中任何一对下标(i,j,k) 对应的数据元素在"以行为主"的顺序映象中的存储地址为:
   LOC(i,j,k) = LOC(0,0,0) + (i×m×n + j×n+k)×L

 推广到 N 维数组,则得到
   LOC( ,,..., ) = LOC(0,0,...,0) + ( ×...×××...××+...+× + )×L
  =

 可缩写成
   

 其中 = L, = ×, 1 < i≤N。
 
  思考题 反之,你将二维的映象公式应用到一维的情况,结果如何?

  称这个地址映象公式为N维数组的映象函数。容易看出,数组元素的存储位置是其下标的线性函数,一旦确定了数组各维的长度, 就是常数。由于计算各个元素存储位置的时间相等,所以存取数组中任一元素的时间也相等。我们称具有这一特点的存储结构为随机存储结构。