首页 最新数组元素存储地址的计算

最新数组元素存储地址的计算

举报
开通vip

最新数组元素存储地址的计算数组元素存储地址的计算数组元素存储地址的计算一维数组设一维数组A[n]存放在n个连续的存储单元中,每个数组元素占一个存储单元〔不妨设为C个连续字节〕.如果数组元素A[0]的首地址是L,那么A[1]的首地址是L+C,A[2]的首地址是L+2C,……,依次类推,对于有:二维数组二维数组的每个元素含两个下标,如果将二维数组的第一个下标理解为行号,第二个下标理解为列号,然后按行列次序排列个元素,那么二维数组呈阵列形状。例如它是一个行号为1~m,列号为1~n的二维数组元素阵列。如何保存二维数组?首先要确定一个顺序第0行第1行...

最新数组元素存储地址的计算
数组元素存储地址的计算数组元素存储地址的计算一维数组设一维数组A[n]存放在n个连续的存储单元中,每个数组元素占一个存储单元〔不妨设为C个连续字节〕.如果数组元素A[0]的首地址是L,那么A[1]的首地址是L+C,A[2]的首地址是L+2C,……,依次类推,对于有:二维数组二维数组的每个元素含两个下标,如果将二维数组的第一个下标理解为行号,第二个下标理解为列号,然后按行列次序排列个元素,那么二维数组呈阵列形状。例如它是一个行号为1~m,列号为1~n的二维数组元素阵列。如何保存二维数组?首先要确定一个顺序第0行第1行第2行第0列第1列第2列1243设count为数组B中元素的个数,那么count=9按行优先存储123456789……第0行第1行第2行按列优先存储123456789……第0列第1列第2列地址如何计算?所谓按行优先顺序,就是将数组元素按行向量的顺序存储,第个行向量存储在第个行向量之后。下面我们计算二维数组中任一元素A[i][j]的存储地址,设每个数组元素所占空间为个连续字节。显然,A[i][j]是第个行向量B[i]中的第个元素。123456789……第0行第1行第2行在A[i][j]之前的元素个数为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]设每个数组元素所占空间为个连续字节。那么Loc〔A[i][j]〕=Loc〔A[0][0]〕+u*Cu=?前i行〔第0行到第i-1行〕〔每行n个元素〕的元素个数+第i行的元素个数〔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按列优先存储123456789……第0列第1列第2列地址如何计算?在A[i][j]之前的元素个数为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]设每个数组元素所占空间为个连续字节。那么Loc〔A[i][j]〕=Loc〔A[0][0]〕+v*Cv=?前j列〔第0列到第j-1列〕〔每列m个元素〕的元素个数+第j列的元素个数〔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高维数组按行优先:“左〞下标优先,即第一〔最左〕下标的下标值较小的元素较先存储,第一个下标值相同者,按第二下标优先存储,对任意的k>1,对第1~〔k-1〕维相同者,先存储第k维中下标值较小者。按列优先:“右〞下标优先〔最后一维下标为最右〕,先存储第n维下标值较小者,第n维下标值相同者,先存储第n-1维下标值较小者。三维数组D[3][3][4]的顺序存储次序是元素 关于同志近三年现实表现材料材料类招标技术评分表图表与交易pdf视力表打印pdf用图表说话 pdf 示为D[i][j][k]其中,0≤i≤2,0≤j≤2,0≤k≤3,可以把它看作一维数组B1[3]={D[0][3][4],D[1][3][4],D[2][3][4]}D[0][3][4]i=0D[0][0][0],D[0][0][1],D[0][0][2],D[0][0][3]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][3][4]i=1D[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][3][4]i=2D[2][0][0],D[2][0][1],D[2][0][2],D[2][0][3]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]Forx=0to2doFory=0to2doForz=0to3doD[i][j][k]的地址:Loc〔D[i][j][k]〕=Loc〔D[0][0][0]〕+w*C第一个下标的变化:0到i-1,共i*3*4个元素第一个下标为i时,第二个下标的变化:0到j-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〕*CForz=0to3doFory=0to2doForx=0to2doj=0j=1j=2D[3][3][0]k=0D[0][0][0],D[1][0][0],D[2][0][0]D[0][1][0],D[1][1][0],D[2][1][0]D[0][2][0],D[1][2][0],D[2][2][0]j=0j=1j=2D[3][3][1]k=1D[0][0][1],D[1][0][1],D[2][0][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=1j=2D[3][3][2]k=2D[0][0][2],D[1][0][2],D[2][0][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=1j=2D[3][3][3]k=3D[0][0][3],D[1][0][3],D[2][0][3]D[0][1][3],D[1][1][3],D[2][1][3]D[0][2][3],D[1][2][3],D[2][2][3]Forz=0to3doFory=0to2doForx=0to2doD[i][j][k]的地址:Loc〔D[i][j][k]〕=Loc〔D[0][0][0]〕+w*C第三个下标的变化:0到k-1,共k*3*3个元素第三个下标为k时,第二个下标的变化:0到j-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〕*Cn维数组For=0todoFor=0todo…………For=0todos=?的变化:0~-1,共***…*=*个元素等于时,的变化:0~-1,共**…*=*个元素等于时,等于时,的变化:0~-1,共**…*=*个元素…………等于时,等于时,…,等于时,的变化:0~-1,共个元素故s=*+*+*+…+*+
本文档为【最新数组元素存储地址的计算】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
wassyy
本人从事施工专职安全员多年,对施工现场安全管理、内业资料管理具有丰富的经验。
格式:doc
大小:297KB
软件:Word
页数:13
分类:
上传时间:2022-08-17
浏览量:1