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

考试题库2022-08-02  39

问题 设数组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[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://www.tihaiku.com/congyezige/2425078.html

最新回复(0)