版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
1、 數(shù)組元素存儲地址的計算一維數(shù)組設(shè)一維數(shù)組An存放在n個連續(xù)的存儲單元中,每個數(shù)組元素占一個存儲單元(不妨設(shè)為C個連續(xù)字節(jié)). 如果數(shù)組元素A0的首地址是L,則A1的首地址是L+C,A2的首地址是L+2C,依次類推,對于有:二維數(shù)組二維數(shù)組的每個元素含兩個下標(biāo),如果將二維數(shù)組的第一個下標(biāo)理解為行號,第二個下標(biāo)理解為列號,然后按行列次序排列個元素,則二維數(shù)組呈陣列形狀。例如它是一個行號為1m,列號為1n的二維數(shù)組元素陣列。如何保存二維數(shù)組?首先要確定一個順序第0行 第1行 第2行第0列 第1列 第2列1243設(shè)count為數(shù)組B中元素的個數(shù),則count=9按行優(yōu)先存儲123456789 第0行
2、 第1行 第2行 按列優(yōu)先存儲123456789 第0列 第1列 第2列 地址如何計算?所謂按行優(yōu)先順序,就是將數(shù)組元素按行向量的順序存儲,第個行向量存儲在第個行向量之后。下面我們計算二維數(shù)組中任一元素Aij的存儲地址,設(shè)每個數(shù)組元素所占空間為個連續(xù)字節(jié)。顯然,Aij是第個行向量Bi中的第個元素。123456789 第0行 第1行 第2行 在Aij之前的元素個數(shù)為u,分別是A00,A01,A02,A0n,A10,A11,A12,A1n,Ai-10,Ai-11,Ai-12,Ai-1n,Ai0,Ai1,Ai2,Aij-1設(shè)每個數(shù)組元素所占空間為個連續(xù)字節(jié)。則Loc(Aij)=Loc(A00)+u*
3、Cu=?前i行(第0行到第i-1行)(每行n個元素)的元素個數(shù)+第i行的元素個數(shù)(Ai0到Aij-1)因此,u=i*n+j故Loc(Aij)=Loc(A00)+u*C =Loc(A00)+(i*n+j)*C按列優(yōu)先存儲123456789 第0列 第1列 第2列 地址如何計算?在Aij之前的元素個數(shù)為v,分別是A00,A10,A20,Am0,A01,A11,A21,Am1,A0j-1,A1j-1,A2j-1,Amj-1,A0j,A1j,A2j,Ai-1j設(shè)每個數(shù)組元素所占空間為個連續(xù)字節(jié)。則Loc(Aij)=Loc(A00)+v*Cv=?前j列(第0列到第j-1列)(每列m個元素)的元素個數(shù)+第
4、j列的元素個數(shù)(A0j到Ai-1j)因此,v=j*m+i故Loc(Aij)=Loc(A00)+v*C =Loc(A00)+(j*m+i)*C高維數(shù)組按行優(yōu)先:“左”下標(biāo)優(yōu)先,即第一(最左)下標(biāo)的下標(biāo)值較小的元素較先存儲,第一個下標(biāo)值相同者,按第二下標(biāo)優(yōu)先存儲,對任意的k>1,對第1(k-1)維相同者,先存儲第k維中下標(biāo)值較小者。按列優(yōu)先:“右”下標(biāo)優(yōu)先(最后一維下標(biāo)為最右),先存儲第n維下標(biāo)值較小者,第n維下標(biāo)值相同者,先存儲第n-1維下標(biāo)值較小者。三維數(shù)組D334的順序存儲次序是元素表示為Dijk 其中,0i2,0j2,0k3,可以把它看作一維數(shù)組B13 = D034,D134,D23
5、4 D034i=0D000,D001,D002,D003D010,D011,D012,D013D020,D021,D022,D023D134i=1D100,D101,D102,D103D110,D111,D112,D113D120,D121,D122,D123D234i=2D200,D201,D202,D203D210,D211,D212,D213D220,D221,D222,D223For x=0 to 2 doFor y=0 to 2 doFor z=0 to 3 doDijk的地址:Loc(Dijk)=Loc(D000)+w*C 第一個下標(biāo)的變化:0到i-1,共i*3*4個元素第一個下標(biāo)
6、為i時,第二個下標(biāo)的變化:0到j(luò)-1,共j*4個元素第一個下標(biāo)為i,第二個下標(biāo)為j時,第三個下標(biāo)的變化:0到k-1,共k個元素w= i*3*4+j*4+kLoc(Dijk)=Loc(D000)+w*C =Loc(D000)+(i*3*4+j*4+k)*CFor z=0 to 3 doFor y=0 to 2 doFor x=0 to 2 doj=0j=1j=2D330k=0D000,D100,D200D010,D110,D210D020,D120,D220j=0j=1j=2D331k=1D001,D101,D201D011,D111,D211D021,D121,D221j=0j=1j=2D33
7、2k=2D002,D102,D202D012,D112,D212D022,D122,D222j=0j=1j=2D333k=3D003,D103,D203D013,D113,D213D023,D123,D223For z=0 to 3 doFor y=0 to 2 doFor x=0 to 2 doDijk的地址:Loc(Dijk)=Loc(D000)+w*C 第三個下標(biāo)的變化:0到k-1,共k*3*3個元素第三個下標(biāo)為k時,第二個下標(biāo)的變化:0到j(luò)-1,共j*3個元素第三個下標(biāo)為k,第二個下標(biāo)為j時,第一個下標(biāo)的變化:0到i-1,共i個元素w= k*3*3+j*3+iLoc(Dijk)=Loc(D000)+w*C =Loc(D000)+(k*3*3+j*3+i)*Cn維數(shù)組For =0 to doFor =0 to doF
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年銀川貨運從業(yè)資格證試題庫和答案解析
- 2025年安徽國際商務(wù)職業(yè)學(xué)院高職單招高職單招英語2016-2024歷年頻考點試題含答案解析
- 2025年天津國土資源和房屋職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 2025至2031年中國液壓大冷噴涂機行業(yè)投資前景及策略咨詢研究報告
- 慢性疾病管理新策略-第1篇-深度研究
- 公共圖書館服務(wù)模式的創(chuàng)新研究-深度研究
- 云端數(shù)據(jù)加密技術(shù)-第2篇-深度研究
- 2025年度航空器發(fā)動機維修與檢修合同模板
- 二零二五年度水資源資產(chǎn)托管與水生態(tài)保護合同
- 二零二五年度夫妻解除合同關(guān)于財產(chǎn)分割、子女撫養(yǎng)及共同債務(wù)
- 地理標(biāo)志培訓(xùn)課件
- 培訓(xùn)如何上好一堂課
- 高教版2023年中職教科書《語文》(基礎(chǔ)模塊)下冊教案全冊
- 2024醫(yī)療銷售年度計劃
- 稅務(wù)局個人所得稅綜合所得匯算清繳
- 人教版語文1-6年級古詩詞
- 上學(xué)期高二期末語文試卷(含答案)
- 人教版英語七年級上冊閱讀理解專項訓(xùn)練16篇(含答案)
- 死亡病例討論模板
- 畢業(yè)旅游活動設(shè)計與實施方案
- 宜城安達特種水泥有限公司雙寨子礦區(qū)鋁土礦礦產(chǎn)資源開發(fā)利用與生態(tài)復(fù)綠方案
評論
0/150
提交評論