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

免费题库2022-08-02  67

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

选项 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]之前有i-1列,每列m个元素,在a[i,j]所在列(即第j列),排在它之前的元素有i-1个,因此,a[i,j]之前共有(i-1)*m+i-1个元素。数组中指定元素的存储位置相对于数组空间首地址的偏移量等于k*d,其中k为排在该元素前的元素个数,d为每个元素占用的存储单元数。
转载请注明原文地址:https://tihaiku.com/congyezige/2425074.html

最新回复(0)