c++中多维数组怎么转换成一维数组?求解

[复制链接]
查看11 | 回复3 | 2012-10-10 16:40:41 | 显示全部楼层 |阅读模式
从逻辑角度说,不管几维的数组都是一个内存块的地址而已。。比如 a[2][2]内存实际上和 a[4] 无区别。本质上不需要转换,只需要在引用的时候对位置的坐标进行变换即可。如 a[1][0] 其实 可以换成一维的a[3].......
回复

使用道具 举报

千问 | 2012-10-10 16:40:41 | 显示全部楼层
都是顺序存储的,这完全是数学公式推理么,比如:对于二维的a[j]和一维的b[n],关系为b[n]=a[n/j][n-(n/j)*j],三维的和一维的自己推到吧。...
回复

使用道具 举报

千问 | 2012-10-10 16:40:41 | 显示全部楼层
计算机的内存存储的数组的时候是依次排序存储的,即使是二维数组,你要把二维数组的顺序想成一维数组的顺序,根据数学知识你就知道怎么转换了。...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行