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

 

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值