论一维数组与二维数组之间的除余关系

论一维数组与二维数组之间的除余关系
大家学编程这么多年,对数组再熟识不过了。而且经常性的用到。可我们很少用到它他们之间的转换,也许你们经常用到,只是我而已,我不能把我的认知加给大家。一维数组就相当于一个自然数集,从0,起到很大的一个序列。从数组的角度就是一维数组,可数组的引用及检索就是用序列,可以说一维数组的角色很多,功能也最大。而二维数组的下标都是一维的。可以说这一个递归的组成。这只是其中的一个关系,相互组成,一维构成了二维,二维用一维检索。这不是主要关系,我要讲的是转换关系及数学中的除余关系。我先讲解一下示例:
如一个序列,0。1,2,3,4,5,6,7,8,9,10,11,12,13,...这里不举多了。
再看二维数组:
┌ ┐
│ a00,a11,a12,a13 │
│ a10,a11,a12,a13 │
│ a20,a21,a22,a23 │
这就是一个二维数组吧。如果我们要把它按行展开就是这样a00,a11,a12,a13,a10,a11,a12,a13,a20,a21,a22,a23现在它们是按一维的形式出现了,哪么下标不再是双维的了,新的下标就是0,1,2,3,4,5,6,7,8,9,...
这样的我们应该如何快速转换呢?我们先用col表标列,用row表示行,用c_n表示一行的个数,用i表示一维的下标。哪么就公式,大家可以当公式记下来的。
公式如下:row=Math.floor(i/c_n)//Math.floor()表示取整;
col=i%c_n;
是不是开简单呀,所以你可以用a[Math.floor(i/c_n),i%c_n]检索二维数组了。这样就完了从二维到一维的转换。
交流QQ:550703900
欢迎加入我的论坛:http://bbs.dfutureworld.com/
我的专业博客地址:http://ideafuture.iteye.com/
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值