养生 装修 购物 美食 感冒 便秘 营销 加盟 小吃 火锅 管理 创业 搭配 减肥 培训 旅游

多维数组转换为一维数组存储

时间:2024-10-05 09:25:37

在多维数组进行初始化及内存释放的时候,玩过C++的人都知道,过程相当麻烦,这里介绍缬方焱蜱一种以一维数组的方式进行存储多维数组,并由此引出不定维数组的存储。

工具/原料

VisualStudio2010

方法/步骤

1、对于多维数组g[i0][i1]...[in-1],每一维的维度依次为w0,w1....wn-1;

2、计算需要的一维数组大小,wc=w0*w1....wn-1;定义需要存储的一维数组s[wc];

3、定义一个一维数组wp[n],分别计算每一个wp[i],计算值为wp[i]=w(i+1)*w(i+2)*....*wn-1,其中wn-1=1;

4、最后也是最重要的就是如何把g[i0觥终柯计][i1]...[in-1]对应到s[k]中去,即求出[i0][i1]...[in-1]与k的对应关系;对应关系如下:k=wp[0]*i0+wp[1]*i吭稿荔徊1+...+wp[n-1]*in-1;

© 一点知识