数据结构问题,求解答,谢谢!

6.二维数组A按行优先顺序存储,其中每个元素占1个存储单元。若A[1][1]的存储地址为420,A[3][3]的存储地址为446,则A[5][5]的存储地址为多少?... 6. 二维数组A按行优先顺序存储,其中每个元素占1个存储单元。若A[1][1]的存储地址为420,A[3][3]的存储地址为446,则A[5][5]的存储地址为多少? 展开
 我来答
百度网友3bc3634
2011-07-07 · TA获得超过3229个赞
知道小有建树答主
回答量:1015
采纳率:50%
帮助的人:541万
展开全部
答案 : 472

行优先存储明白吗?就是一行一行的存,不是一列一列的存。
题目告诉了A[1][1]和A[3][3]的存储地址,是想让你推算出A数组的大小。由于A[1][1]的地址是420,所以A[1][0]的地址就是419,还有A[3][3]的地址是446,那么A[3][0]的地址就是443。从A[1][0]到A[3][0],恰好实用了2行,(443-419)/ 2 = 12,也就是说数组A的大小是A[12][N],N没必要算出来,也算不出来。这样就知道了A[5][0]的地址是 419 + 12 * 4 = 467,那么A[5][5]就是467+5 = 472 了。
左自强
2011-07-07 · TA获得超过385个赞
知道小有建树答主
回答量:528
采纳率:0%
帮助的人:350万
展开全部
先根据A[3][3]的地处可以知道有12列,466=420+((3-1)*x+3-1)*1 所以x=12;
然后根据按行存储公式LOC[I,J]=10+((I-1))*n+j-1)*L;
可以得到A[5][5]=420+((5-1)*12+5-1)*1=472;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
有钱买不起房子
2011-07-08 · TA获得超过4326个赞
知道大有可为答主
回答量:1249
采纳率:100%
帮助的人:2085万
展开全部
行存储,Loc(A[3][3])=Loc(A[1][1])+((3-1)×n+(3-1))*L
=420+2n+2
Loc(A[3][3])=446.这样,n=8

Loc(A[5][5])=])=Loc(A[1][1])+((5-1)×8+(5-1))*1=420+36=456
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式