设数组 A[ 1..m,1...n.] 的每个元素占用 1 个存储单元,对于数组

免费题库2022-08-02  43

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

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

答案 B

解析 本题考查数据结构基础知识。数组 A[l..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://tihaiku.com/congyezige/2426970.html

最新回复(0)