设数组A[1..m,1..n]的每个元素占用1个存储单元,对于数组元素A[i,j](1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为__________(33);在按列存储方式下,其相对于数组空间首地址的偏移量为________

admin2019-05-11  29

问题 设数组A[1..m,1..n]的每个元素占用1个存储单元,对于数组元素A[i,j](1≤i≤m,1≤j≤n),在按行存储方式下,其相对于数组空间首地址的偏移量为__________(33);在按列存储方式下,其相对于数组空间首地址的偏移量为__________(34)。
(34)

选项 A、j*(n-1)+i
B、(j-1)*n+i-1
C、j*(m-1)+i
D、(j-1)*m+i-1

答案D

解析 本题考查数据结构基础知识。数组A[1..m,1..n]的元素排列如下。

解答该问题需先计算排列在a[i,j]之前的元素个数。
按行方式存储下,元素a[i,j]之前有i一1行,每行n个元素,在第i行上a[i,j]之前有j一1个元素,因此,a[i,j]之前共有(i—1)*n+j一1个元素。
在按列存储方式下,元素a[i,j]之前有j-1列,每列m个元素,在a[i,j]所在列(即第j列),排在它之前的元素有i—1个,因此,a[i,j]之前共有(j-1)*m+i-1个元素。
数组中指定元素的存储位置相对于数组空间首地址的偏移量等于k*d,其中k为排在该元素前的元素个数,d为每个元素占用的存储单元数。
转载请注明原文地址:https://jikaoti.com/ti/wlL7FFFM
0

最新回复(0)