5-2 数组和广义表练习题

例 1:一个二维数组 A,行下标的范围是 1 到 6,列下标的范围是 0 到 7,每个数组元素用相邻的 6 个字节存储,存储器按字节编址。那么,这个数组的体积是 个字节。

答: Volume = m×n×L

     = (6 – 1 + 1) ×(7 – 0 + 1) ×6 

 

     = 48×6 = 288

 

例2.设数组 A[0…59, 0…69] 的基地址为 2048,每个元素占2个存储单元,若以列序为主顺序存储,则元素A[31, 57] 的存储地址为

解:LOC(i, j) = LOC(31, 57)

     = LOC(0, 0)+(b1×j+i )×L

     = 2048 + (60×57+31 )×2

     = 8950

 

 例3.假设有二维数组A6∗8 ,每个元素用相邻的 6 个字节存储,存储器按字节编址。已知 A 的起始存储位置(基地址)为 1000,计算:

  1.    数组 A 的体积(即存储量);
  2.    数组A 的最后一个元素a57  的第一个字节的地址;
  3.    按行存储时,元素 a14 的第一个字节的地址;
  4.    按列存储时,元素a47  的第一个字节的地址。

a) Volume=m*n*L

        =6*8*6

        =288

b) LOC(i,j)=LOC(5,7)

        =LOC(0,0)+(b1×j+i )×L

        =1000+(6*7+5)*6

        =1282

a) LOC(i,j)=LOC(1,4)

        =LOC(0,0)+(b1×i+j)

        =1000+(8*1+4)*6

        =1072

d)LOC(i,j)=LOC(4,7)

          =LOC(0,0)+(b1×j+i )×L

          =1000+(6*7+4)*6

          =1276

 

猜你喜欢

转载自blog.csdn.net/weixin_42202174/article/details/89401197
5-2