版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
**數(shù)組元素存儲地址的計算一維數(shù)組設(shè)一維數(shù)組A[n]存放在n個連續(xù)的存儲單元中,每個數(shù)組元素占一個存儲單元(不妨設(shè)為C個連續(xù)字節(jié)).如果數(shù)組元素A[0]的首地址是L,則A[1]的首地址是L+C,A[2]的首地址是L+2C,……,依次類推,對于0in1有:感謝閱讀Loc(A[i])Loc(A[0])i*C感謝閱讀二維數(shù)組二維數(shù)組的每個元素含兩個下標,如果將二維數(shù)組的第一個下標理解為行號,第二個下標理解為列號,然后按行列次序排列個元素,則二維數(shù)組呈陣列形狀。例如精品文檔放心下載aaa11121nAa21a22a2naaam1m2mn它是一個行號為1~m,列號為1~n的二維數(shù)組元素陣列。感謝閱讀如何保存二維數(shù)組?首先要確定一個順序aaaaaaaaa000102000102000102BaaaBaaaBaaa101112101112101112aaaaaaaaa202122202122202122aaaaaaaaa000102101112202122第0行 第1行 第2行**a a a a a a a a a00 01 02 00 01 02 00 01 02謝謝閱讀Ba a a Ba a a Ba a a謝謝閱讀10 11 12 10 11 12 10 11 12謝謝閱讀a a a a a a a a a20 21 22 20 21 22 20 21 22精品文檔放心下載aaaaaaaaa001020011121021222第0列第1列第2列a a a a a a a a a00 01 02 00 01 02 00 01 02精品文檔放心下載Ba a a Ba a a Ba a a精品文檔放心下載10 11 12 10 11 12 10 11 12謝謝閱讀a a a a a a a a a20 21 22 20 21 22 20 21 22精品文檔放心下載aaaaaa000102000102BaaaBaaa101112101112aaaaaa202122202122aaaaaaaaa201021001122011202123 4**count為數(shù)組B中元素的個數(shù),則count=9謝謝閱讀按行優(yōu)先存儲1 2 3 4 5 6 7 8 9…aaaaaaaaa…000102101112202122第0行 第1行 第2行按列優(yōu)先存儲1 2 3 4 5 6 7 8 9…aaaa01aaa02aa…00102011211222第0列 第1列 第2列地址如何計算?所謂按行優(yōu)先順序,就是將數(shù)組元素按行向量的順序存儲,第i1感謝閱讀個行向量存儲在第i個行向量之后。下面我們計算二維數(shù)組A[m][n]中任一元素A[i][j]的存儲地址,設(shè)感謝閱讀**每個數(shù)組元素所占空間為C個連續(xù)字節(jié)。顯然,A[i][j]是第i個行向感謝閱讀量B[i]中的第j個元素。1 2 3 4 5 6 7 8 9…aaaaaaaaa…000102101112202122第0行 第1行 第2行A[i][j]之前的元素個數(shù)為u,分別是A[0][0],A[0][1],謝謝閱讀A[0][2],…,A[0][n],A[1][0],A[1][1],A[1][2],…,A[1][n],…,謝謝閱讀A[i-1][0],A[i-1][1],A[i-1][2],…,A[i-1][n],A[i][0],A[i][1],感謝閱讀A[i][2],…,A[i][j-1]設(shè)每個數(shù)組元素所占空間為C個連續(xù)字節(jié)。則Loc(A[i][j])=Loc(A[0][0])+u*C精品文檔放心下載u=?前i行(第0行到第i-1行)(每行n個元素)的元素個數(shù)+第i行的元素個數(shù)(A[i][0]到A[i][j-1])感謝閱讀因此,u=i*n+j故Loc(A[i][j])=Loc(A[0][0])+u*C精品文檔放心下載=Loc(A[0][0])+(i*n+j)*C**按列優(yōu)先存儲1 2 3 4 5 6 7 8 9…aaaa01aaa02aa…00102011211222第0列 第1列 第2列地址如何計算?A[i][j]之前的元素個數(shù)為v,分別是A[0][0],A[1][0],精品文檔放心下載A[2][0],…,A[m][0],A[0][1],A[1][1],A[2][1],…,A[m][1],…,精品文檔放心下載A[0][j-1],A[1][j-1],A[2][j-1],…,A[m][j-1],A[0][j],A[1][j],謝謝閱讀A[2][j],…,A[i-1][j]設(shè)每個數(shù)組元素所占空間為C個連續(xù)字節(jié)。則Loc(A[i][j])=Loc(A[0][0])+v*C精品文檔放心下載v=?前j列(第0列到第j-1列)(每列m個元素)的元素個數(shù)+第感謝閱讀列的元素個數(shù)(A[0][j]到A[i-1][j])感謝閱讀因此,v=j*m+i故Loc(A[i][j])=Loc(A[0][0])+v*C=Loc(A[0][0])+(j*m+i)*C感謝閱讀**高維數(shù)組按行優(yōu)先:“左”下標優(yōu)先,即第一(最左)下標的下標值較小的感謝閱讀元素較先存儲,第一個下標值相同者,按第二下標優(yōu)先存儲,對任意感謝閱讀k>1,對第1~(k-1)維相同者,先存儲第k維中下標值較小者。按列優(yōu)先:“右”下標優(yōu)先(最后一維下標為最右),先存儲第n精品文檔放心下載維下標值較小者,第n維下標值相同者,先存儲第n-1維下標值較小者。謝謝閱讀三維數(shù)組D[3][3][4]的順序存儲次序是元素表示為D[i][j][k] 其中,0≤i≤2,0≤j≤2,0≤k≤3,精品文檔放心下載可以把它看作一維數(shù)組B1[3]={D[0][3][4],D[1][3][4],D[2][3][4]}謝謝閱讀D[0][3][4]D[0][0][0],D[0][0][1],D[0][0][2],D[0][0][3]i=0謝謝閱讀D[1][3][4]i=1
D[0][1][0],D[0][1][1],D[0][1][2],D[0][1][3]謝謝閱讀D[0][2][0],D[0][2][1],D[0][2][2],D[0][2][3]感謝閱讀D[1][0][0],D[1][0][1],D[1][0][2],D[1][0][3]感謝閱讀D[1][1][0],D[1][1][1],D[1][1][2],D[1][1][3]感謝閱讀D[1][2][0],D[1][2][1],D[1][2][2],D[1][2][3]精品文檔放心下載**D[2][0][0],D[2][0][1],D[2][0][2],D[2][0][3]謝謝閱讀D[2][3][4]i=2 D[2][1][0],D[2][1][1],D[2][1][2],D[2][1][3]謝謝閱讀D[2][2][0],D[2][2][1],D[2][2][2],D[2][2][3]感謝閱讀For x=0 to 2 doFor y=0 to 2 doFor z=0 to 3 doD[i][j][k]的地址:Loc(D[i][j][k])=Loc(D[0][0][0])+w*C精品文檔放心下載第一個下標的變化:0到i-1,共i*3*4個元素精品文檔放心下載第一個下標為i時,第二個下標的變化:0到j(luò)-1,共j*4個元素謝謝閱讀第一個下標為i,第二個下標為j時,第三個下標的變化:0到k-1,謝謝閱讀共k個元素w=i*3*4+j*4+kLoc(D[i][j][k])=Loc(D[0][0][0])+w*C感謝閱讀=Loc(D[0][0][0])+(i*3*4+j*4+k)*C謝謝閱讀For z=0 to 3 doFor y=0 to 2 doFor x=0 to 2 do**aaaaaaaaa001020011121021222D[3][3][0]D[0][0][0],D[1][0][0],D[2][0][0]j=0j=1k=0D[0][1][0],D[1][1][0],D[2][1][0] j=2謝謝閱讀D[0][2][0],D[1][2][0],D[2][2][0]謝謝閱讀j=0j=1D[3][3][1]D[0][0][1],D[1][0][1],D[2][0][1]j=2k=1謝謝閱讀D[0][1][1],D[1][1][1],D[2][1][1]感謝閱讀D[0][2][1],D[1][2][1],D[2][2][1]謝謝閱讀j=0j=1D[3][3][2]D[0][0][2],D[1][0][2],D[2][0][2]j=2k=2謝謝閱讀D[0][1][2],D[1][1][2],D[2][1][2]精品文檔放心下載D[0][2][2],D[1][2][2],D[2][2][2]謝謝閱讀j=0j=1D[3][3][3] D[0][0][3],D[1][0][3],D[2][0][3]精品文檔放心下載j=2k=3D[0][1][3],D[1][1][3],D[2][1][3]謝謝閱讀D[0][2][3],D[1][2][3],D[2][2][3]謝謝閱讀For z=0 to 3 do**For y=0 to 2 doFor x=0 to 2 doD[i][j][k]的地址:Loc(D[i][j][k])=Loc(D[0][0][0])+w*C感謝閱讀第三個下標的變化:0到k-1,共k*3*3個元素感謝閱讀第三個下標為k時,第二個下標的變化:0到j(luò)-1,共j*3個元素精品文檔放心下載第三個下標為k,第二個下標為j時,第一個下標的變化:0到i-1,精品文檔放心下載共i個元素w=k*3*3+j*3+iLoc(D[i][j][k])=Loc(D[0][0][0])+w*C謝謝閱讀=Loc(D[0][0][0])+(k*3*3+j*3+i)*C感謝閱讀n維數(shù)組[][m][]amm12nForl=0tom1do11Forl=0tom1do22…………Forl=0tom1donnLoc(i,i, ,i)Loc(0,0, ,0)s*C感謝閱讀1 2 ns=?的變化:0~i-1,共i*m*m*…*m=i*nm個元素精品文檔放心下載1 1 1 2 3 n 1 pp2**l等于i時,l的變化:0~i-1,共i*m*…*m=in個元素*m112223n2pp3l等于i時,l等于i時,l的變化:0~i-1,共i*m*…11223334m=i*nm個元素n 3
溫馨提示
- 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)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024-2030年中國地產(chǎn)綠化商業(yè)計劃書
- 2024-2030年中國咸菜市場發(fā)展前景調(diào)研與投資策略分析報告
- 2024-2030年中國印花熱熔膠融資商業(yè)計劃書
- 2024年體育用品銷售租賃合同
- 滿洲里俄語職業(yè)學院《STEM課程教學與微課制作》2023-2024學年第一學期期末試卷
- 2024年兒童個性化教育服務(wù)聘請教師勞動合同模板3篇
- 2024年房屋中介居間協(xié)議2篇
- 漯河醫(yī)學高等??茖W校《畫法幾何與土建制圖》2023-2024學年第一學期期末試卷
- 2025年銅川貨運從業(yè)資格證模擬考試下載什么軟件
- 2024年標準格式個人等額本息貸款合同版B版
- 成長賽道-模板參考
- 室外晾衣棚施工方案
- 兒童健康管理服務(wù)總結(jié)分析報告
- 殯葬行業(yè)的風險分析
- 下肢靜脈血栓個案查房
- 通信工程冬季施工安全培訓(xùn)
- 痛風病科普講座課件
- 工作崗位風險評估報告
- 護理查房肺部感染心衰
- 拒執(zhí)罪申請書范本
- 《阿米巴經(jīng)營》讀書分享
評論
0/150
提交評論