帮帮忙吧 解决一下这道数据结构的题 答案选2 详细点啊 谢了
二为数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从O到4,列下标j的范围从O到5。M按行存储时元素M[3,5]的起始地址与M按列存储...
二为数组M[i,j]的元素是4个字符(每个字符占一个存储单元)组成的串,行下标i的范围从O到4,列下标j的范围从O到5。M按行存储时元素M[3,5] 的起始地址与M按列存储时元素( ②)的起始地址相同。
①M [2,4] ② M[3,4] ③M[3,5] ④M[4,4] 展开
①M [2,4] ② M[3,4] ③M[3,5] ④M[4,4] 展开
2个回答
展开全部
按行存储就是M00,M01,...M05,M10,M11,...M15,...M40,M41,...M45
按列存储就是M00,M10,...M40,M01,M11,...M41,...M05,M15,...M45
要起始地址相同就是说按照两种不同的方法排下来,两个元素所处的位置是一样的,M[3,5]在第一列里处于第3*5+5=20个位置,那么在第二列里处于第20个位置的那个元素就拥有和M[3,5]相同的起始地址,M[3,4]在第二列里处于4*4+(3+1)=20,刚好是所要求的。
按列存储就是M00,M10,...M40,M01,M11,...M41,...M05,M15,...M45
要起始地址相同就是说按照两种不同的方法排下来,两个元素所处的位置是一样的,M[3,5]在第一列里处于第3*5+5=20个位置,那么在第二列里处于第20个位置的那个元素就拥有和M[3,5]相同的起始地址,M[3,4]在第二列里处于4*4+(3+1)=20,刚好是所要求的。
展开全部
将二维数组压缩成一维数组,按行存储时,任意M[a,b]为第a*6+b+1个元素,比如M[0,0]就是第1个元素,M[3,5]为第3*6+5+1=24个元素(可以验证:依次为M[0,0]~M[0,5],M[1,0]~M[1,5],M[2,0]~M[2,5],M[3,0]~M[3,5])。
按列存储时,任意M[a,b]为第b*5+a+1个元素,而M[3,4]恰为第4*5+3+1=24个元素。所以选2。
按列存储时,任意M[a,b]为第b*5+a+1个元素,而M[3,4]恰为第4*5+3+1=24个元素。所以选2。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询