以行为主序或以列为主序对于多维数组的存储没有影响。

题目

以行为主序或以列为主序对于多维数组的存储没有影响。

参考答案和解析
正确答案:正确
如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有一个二维数组A[1…6,1…4],若数组的起始地址为200,并且数据元素以行序为主序存放在数组中,每个元素占用4个存储单元,那么元素A[3,4]的存储地址为【】。


正确答案:260
A[]是一个二维数组,A[3,4]代表第三行第4个数,前面有二行,第三行有三个元素,所以元素个数为2*6+3=15,15*4=60,所以存储地址为260。

第2题:

对于二维数组a[1..4,3..6],设每个元素占两个存储单元,若分别以行和列为主序存储,则元素a[3,4]相对于数组空间起始地址的偏移量分别是(1)和(2)。

A.12

B.14

C.16

D.18


正确答案:D

第3题:

对于二维数组a[1..6,1..8],设每个元素占两个存储单元,且以列为主序存储,则元素a[4,4]相对于数组空间起始地址的偏移量是()个存储单元。

A.28

B.42

C.48

D.54


参考答案:B

由于是以列为主序,则前3列有3×6=18个元素,因此a[4,4]的位置是在第18+4=22位。因此相对于数组空间起始地址的偏移量是(22-1)×2=42个存储单元,故答案为B。

第4题:

设有一个18阶的对称矩阵A,采用压缩存储的方式,将其下三角部分以行序为主序存储到一维数组B中(数组下标从1开始),则矩阵中元素a10,8在一维数组B中的下标是()

  • A、62,
  • B、63
  • C、51
  • D、53

正确答案:A

第5题:

对于二维数组a[0.. 4,1.. 5],设每个元素占1个存储单元,且以列为主序存储,则元素a[2,2]相对于数组空间起始地址的偏移量是______。

A.5

B.7

C.10

D.15


正确答案:B
解析:此类题型以前考过多次,为了让大家能更好地理解题目的意思以及解题的思想,图3-81给出了二维数组a[0..4,1..5]的结构。因为以列为主序存储,所以a[0,1]存储在1号存储单元,a[1,1]存储在2号存储单元……以此类推,a[2,2]存储在8号存储单元,所以相对于数组空间起始地址的偏移量为8-1,即7。偏移量就是差值。所以答案为:B。此外,若数组以行为主序存储,则数组的结构如图3-82所示。

第6题:

设下三角矩阵A:

如果以行序为主序将A的非零元素存储在一维数组B[n(n+1)/2]中,那么A的第i行第j列的非零元素aij(i≥j)在数组B中的下标为______。


正确答案:B
解析:按行优先存储就是把矩阵中的数据一行一行地顺次存入存储单元,此题中就按a11、a21、a22、a31、a32、a33、…、an1、an2、an3、…、ann的顺序来存储。从第1行到第i-1行(a11~ai-1,i-1)共有个非零元素;在第i行,从ai1至aij共有j个非零元素,因此a11至aij共有个非零元素,而a11对应的下标为0,于是aij对应的下标为。

第7题:

假设以行序为主序存储二维数组array[100][100],设每个数据元素占2个存储单元,基地址为10,下标从0开始,则元素array[5][5]的地址为()。

A.808

B.818

C.1010

D.1020


正确答案:C

第8题:

对于二维数组a[0..4,1..5],设每个元素占1个存储单元,且以列为主序存储,则元素a[2,2]相对于数组空间起始地址的偏移量是(55)。

A.5

B.7

C.10

D.15


正确答案:B
解析:本题考查数组元素的存储。
  若二维数组A[L1..U1,L2..U2]以行为主序存储,每个元素占用d个存储单元,则元素A[I,J]的存储位置相对于数组空间首地址的偏移量为
  ((I-L1)×(U2-L2+1)+J-L2)×d
  若二维数组A[L1..U1,L2..U2]以列为主序存储,每个元素占用d个存储单元,则元素A[I,J]的存储位置相对于数组空间首地址的偏移量为
  ((J-L2)×(U1-L1+1)+I-L1)×d
  本题中d=1,L1=0,U1=4,L2=1,U2=5,代入后计算可得偏移量为7。

第9题:

假设以行序为主序存储二维数组A[1.,100,1.,100],设每个数据元素占2个存储单元,基地址为10,则A[5,5]的存储首地址LOC[5,5]为(1)。

A.808

B.818

C.1010

D.1020


正确答案:B
解析:按行优先存储就是把二维数组中的数据一行一行地顺次存入存储单元。二维数组A[1..m,1..n]若按行优先存储,那么A的任意一个元素A[i][j]的存储首地址Loc(i,j)可由下式确定:Loc(i,j)=Loc(1,1)+[n×(i-1)+j-1]×b,其中,Loc(1,1)是第一个元素A[1][1]的首地址,b是每个元素占用的存储单元个数。代入数据便得Loc(5,5)=10+[100×(5-1)+5-1]×2=818。

第10题:

二维数组A行下标i的范围从1到12,列下标j的范围从3到10,采用行序为主序存储,每个数据元素占用4个存储单元,该数组的首地址(即A[1][3]的地址)为1200,则A[6][5]的地址为()。

  • A、 1400
  • B、 1404
  • C、 1372
  • D、 1368

正确答案:D

更多相关问题