数据结构数组的一道题,求过程

假设以行序为主序储存二维数组A=array[0...100,0...100],设每个数据元素占2个存储单元,基地址为10,则array[5,5]在内存中储存的地址为()

A.808 B.818 C.1010 D.1020

这种题目都可以自己总结个公式出来的
数据元素占k存储单元,首地址为a,则对于A[M][N]中元素A[i][j]的地址:
对于以行序为主的存储方式:
一行占N*k存储单元A[i][j]是在上面i个行的基础上加上第i+1行1列到j+1列的地址
A[i][j] =i*N*k + j*k + a
对于以列序为主的
同理有A[i][j] = j*M*k + i*k + a
故上面的答案是array[5][5] = 5*100*2+5*2+10=1020
温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-14
设二维数组的行下标区间[l1,h1],列下标[l2,h2]。
按行优先:
LOC(Aij) = LOC(A[l1,l2]) + ( (i - l1) * ( h2 - l2 + 1) + ( j - l2) ) *C (C为单个数据元素所占空间);
按列优先:
LOC(Aij) = LOC(A[l1,l2]) +( ( j - l2) * ( h1 - l1+ 1) + ( i - l1) ) *C (C为单个数据元素所占空间);

授之以鱼,不如授之以渔。本回答被网友采纳
第2个回答  2012-09-14
楼主你的这个“A=array[0...100,0...100]”是什么意思?

如果定义数组应该是array[100][100]

这下一楼就应该没有疑问了:每行是从0~99共100个元素而不是101个。
第3个回答  2012-09-13
(100*5+5)*2+10=1020
但我觉得数组的列数为101应该这么算:(101*5+5)*2+10=1030
有人知道告诉我一下。 或者等楼主的老师讲了后告诉我。本回答被提问者采纳

数据结构数组的一道题,求过程
故上面的答案是array[5][5] = 5*100*2+5*2+10=1020

一道关于数据结构数组存储简单的问题,
…A[9,0] A[9,1]…A[9,19]对于A[6,6],其前0-5共6行是完整的,每行0-19共20列,再加上第7行的0-5共6个元素,一共有 6*20 + 6 = 126个元素 则A[6,6]的地址为:100 + 126 * 2 = 352 按列优先存储为:A[0,0] A[1,0]…A[9,0]A[0,1] A[1,1]…A[9,1]...

数据结构数组的问题
百度百科上说 计算公式为 k=2*i+j-2.因为除了每一行都会有两个数,故至第i行(未算第i行)就有了2*(i-1)个数,而从第1行开始每行均多了一个数(即对角线的下一行),至第j列(算第j列) 就有了j个数 加起来就是2*(i-1)+j ...

数据结构数组问题,啊啊啊!哪位大神帮帮忙给讲一下
自己按规律去推导出一个公式就可以了,对于n阶矩阵,将其上三角中的元素按列优先顺序存放在一维数组B[1..n(n+1)\/2]中,可以推出对于数组元素A[i,j](1<=i<=n,j>=i)对应的存储地址为:LOC(i,j)=Loc(1,1)+[j*(j-1)\/2+i-1]*L (1≤i≤n,i≤j),L为每个元素占的存储单元...

进来看一下,关于数据结构中的数组问题
1000+4[(15 - 10)(20-10+1) + (10 - 5)] = 1000 + 4[55+5] = 1240

一道数据结构问题
首先,我的理解,题目意思就是把等于 X 的数据移动到数组的前面 因为没有限制,所以难度不大 可以这样做:1 新建一个数组B 2 历遍数组A,找到数组A中值等于X的数,把对应的数组下标存到B中(有点绕) (感觉你是个刚学编程的,复杂度什么的我就不说了哈) 。解释下,比如 A[ (B[c])...

这道数据结构题怎么做啊?
数组A共占用多少字节; 6*8*6=288个字节 数组A的最后一个元素的地址; 1000+288-1=1287 按行存储时元素A36的地址; 1000+(3-1)*8*6+(6-1)*6=1126 按列存储时元素A36的地址; 1000+(6-1)*6*6+(3-1)*6=1192

数据结构求数组元素地址
记住公式啊 这是按列存储的 A[m][n]A[i][j]=LOC(a00)+(j*m+i)*L 在这个题中 m=50,n=50;所以A[-18,-25]=200+(5*50+2))*4=200+252*4=200+1028=1208 你的答案不对 应该是1208 我换了两种方法算都是1208

在线等!!数组问题,c语言数据结构!!
在a[7[[6]前面共有a[0]到a[6]七行,每行的下三角元素个数分别为1,2,3,4,5,6,7,加起来共28个。然后第a[7]行中,a[7][6]前面又有a[7][0]到a[7][5]共6个元素,所以,以行为主序时,a[7][6]前面要存储的元素共有28+6=34个,所以a[7][6]的地址为:&a[7][6]...

这是一个关于数据结构和数组的习题,带状矩阵a=(aij),求元素aij在b数组...
依题,第1行存入b数组的为两个元素a[1][1]和a[1][2]最后1行也就是第n行存入b数组的也为两个元素a[n][n-1]和a[n][n]其余n-2行存入b数组的都为3个元素,所以一共2*2+3(n-2)=3n-2个元素存入b数组 对于元素a[i][j],若i==1也就是第1行,则a[1][1]和a[1][2]分别...

相似回答