當前位置:首頁 » 服務存儲 » 每個元素佔用5個存儲單元
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

每個元素佔用5個存儲單元

發布時間: 2022-08-28 01:57:06

『壹』 數組A[5][6]的每個元素佔5個單元,將其按行優先順序存儲在起始地址為1000的連續的內存單元中,則元素A[4]

Address(A)+4*6*5+4*5
=1000+120+20=1140

『貳』 關於計算數組元素地址(設數組a[3..16,5..20]的元素以列為主序存放,每個元素佔用兩個存儲單元.......)

按照常規的,假設我們是以行為主序列,(設定一行的長度為N,每個元素佔用B個存儲單元)那麼a[2,3]的的位置為[(2-0)*N+(3-0)]*B,因為數組的坐標是從0開始的。
同理,如果是以列為主序列,那麼坐標就要換下位置了。[(3-0)*N+(2-0)]*B

如題中,是以列為主序列,那麼公式就應該是[(J-5)*14+(I-3)]*2

14 是說明有14行 3..16 得出的。。

下面就要說明a是怎麼來的了,數組中我們默認是以a0作為數組的第一存儲地址,按照題目的意思,就是a了。
所以結果可以確定為a+[(J-5)*14+(I-3)]*2

即為D選項。如有疑問,咱們可以驗證,a(3,5)應該是數組的第一存儲地址a,選項中只有D符合。

如有疑問,請網路消息。

『叄』 數組A[0..5,0..6]的每個元素佔5個單元

可以自己畫張6*7的表,即可得出答案:A.1175
1樓的答案是正確的,但稍顯復雜,A[5,5]顯然是個大索引(最後一元素為A[5,6]),反向檢索的演算法效率會更高,即
5*6*(7-1) - (7-6)*5 +1000 =
5*6*6 - 5 +1000 = 1175
字面意思就是A[5,6]的地址-5,1*5會被編譯器優化掉,相比1樓少一次乘法效率更高些

『肆』 .已知數組a[1..11][0..8]按行優先存儲,每個元素佔5個存儲單元,

顯然A[0][0]的地址是1000
A[6][8]是第69個元素(行優先),每個元素佔5個存儲單元,69*5+1000就是存儲地址

『伍』 1.若線性表採用順序存儲結構,每個元素佔用4個存儲單元,第一個元素的存儲地址為100,則第12個元

(12-1)*4=44
100+44=144,選B

『陸』 在二維數組A[9[10]中,每個數組元素佔用5個存儲空間,從首地址S開始連續存放,則元素A[8][5]的起始地址是

二維數組也是線性存儲,按行號從小到大存儲。A[8][5]前面共有完整八行,每行十個元素。本行前還有5個元素,共85個元素排在前面。該元素的起始地址是S+85*5。

『柒』 已知數組A[10][10]為對稱矩陣,其中每個元素佔5個單元

首先題目說的是按列優先 那麼就是說優先存儲列

簡單地說,就是以下的存儲方式:

A[0,0] -> A[1,0] -> A[2,0] -> A[3,0] -> A[4,0] -> A[5,0]

A[0,1] -> A[1,1] -> A[2,1] -> A[3,1] -> A[4,1] -> A[5,1]

……

A[0,6] -> A[1,6] -> A[2,6] -> A[3,6] -> A[4,6] -> A[5,6]

那麼按照這中存儲方式,因為A[5,5]的列標為5,那麼它前面有0~4 共有5列 每一列6個元素

也就有5*6=30個元素

再加上列表為5的列中,含有0~5(航標是5) 共有6個元素 , 但是排除A[5,5]本身 就只有5個元素

也就是30+5=35個 每一個佔5個位元組

因此A[5,5]的地址為:

1000 + 35 * 5 = 1175

『捌』 已知數組A[9,9]的每個元素佔5個存儲單元,將其按行優先次序存儲在起始地址為1000的連續的內存單元中

如果你的單元是指一個位元組,應該就是1310
但其實得看不同機器的,有些可能要位元組對齊.