天天看點

【資料結構】第4章 串、數組和廣義表 數組

參考部落格

1、數組存儲位址計算

【資料結構】第4章 串、數組和廣義表 數組

2、對稱矩陣的位址計算

【資料結構】第4章 串、數組和廣義表 數組

3、課後題

(6)假設以行序為主序存儲二維數組 A=array[1…100,1…100],設每個資料元素占2 個存儲單 元,基位址為10,則 LOC[5,5]=( ) 。

A.808 B.818 C.1010 D.1020

答案:B

解釋:以行序為主,則LOC[5,5]=[(5-1)*100+(5-1)]*2+10=818。

(7)設有數組A[i,j],數組的每個元素長度為3 位元組,i 的值為1 到 8,j 的值為 1 到 10,數 組從記憶體首位址BA 開始順序存放,當用以列為主存放時,元素 A[5,8]的存儲首位址為( )。

A.BA+141 B.BA+180 C.BA+222 D.BA+225

答案:B

解釋:以列序為主,則LOC[5,8]=[(8-1)*8+(5-1)]*3+BA=BA+180。

(8)設有一個10 階的對稱矩陣 A,采用壓縮存儲方式,以行序為主存儲,a11為第一進制素, 其存儲位址為1,每個元素占一個位址空間,則a85的位址為( )。

A.13 B.32 C.33 D.40

答案:C

解釋:

1 2 3 4 5 6 7 8 9 10

1 。

2 。。

3 。。。

4 。。。。

5 。。。。。

6 。。。。。。

7 。。。。。。。

8 。。。。# 。。。

9 。。。。。。。。。

10 。。。。。。。。。。

三角的這種題就畫圖數找規律叭

(9)若對 n 階對稱矩陣 A 以行序為主序方式将其下三角形的元素(包括主對角線上所有元 素)依次存放于一維數組B[1…(n(n+1))/2] 中,則在 B中确定 aij(i >=j)的位置 k 的關系為( )。

A.i*(i-1)/2+j B.j*(j-1)/2+i C.i*(i+1)/2+j D.j*(j+1)/2+i

答案:B

解釋:背公式

(10)二維數組 A 的每個元素是由 10 個字元組成的串,其行下标 i=0,1, …,8, 列下标 j=1,2, …,10 。若A按行先存儲,元素A[8,5] 的起始位址與當 A按列先存儲時的元素( )的 起始位址相同。設每個字元占一個位元組。

A.A[8,5] B.A[3,10] C. A[5,8] D.A[0,9]

答案:B

解釋:設數組從記憶體首位址M 開始順序存放,若數組按行先存儲,元素A[8,5] 的起始地 址為:M+[(8-0)*10+(5-1)]*1=M+84;若數組按列先存儲,易計算出元素 A[3,10] 的起始地 址為:M+[(10-1)*9+(3-0)]*1=M+84。故選 B。

(11)設二維數組 A[1… m,1… n] (即 m行 n 列)按行存儲在數組 B[1… m*n] 中,則二維數 組元素A[i,j]在一維數組 B 中的下标為( ) 。 A.(i-1)n+j B.(i-1)n+j-1 C.i(j-1) D.jm+i-1

答案:A

解釋:特殊值法。取i=j=1,易知A[1,1]的的下标為1,四個選項中僅有A 選項能确 定的值為1,故選 A。

(12)數組A[0…4,-1…-3,5…7]中含有元素的個數( )。

A.55 B.45 C.36 D.16

答案:B

解釋:共有

5*3*3=45

個元素。

繼續閱讀