打印

运算符效率问题

[复制链接]
979|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
pkat|  楼主 | 2013-12-31 20:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
假设,现在有个 9 x 9 的二维数组,我要遍历这个数组的每一个点
并且根据一定的条件将一个点的周围的8个点的值都 +1

所以,有时候会导致数组的下标越界,如 a[-1][0], a[8][9] 什么的
我的想法比较简单,设某一相邻点为 a[x][y]
那么,就先将x, y 过滤一道:
x = (x + 9) % 9
y = (y + 9) % 9
以此确保x, y 总是在下标的范围之内。

但是,因为是启动了一个线程专门不停的循环遍历该数组,所以效率很重要,我总觉得该算法速度不够快
不知道 %运算符效率怎么样,要是各位还有更快的算法不妨指点一二

相关帖子

沙发
火箭球迷| | 2013-12-31 20:36 | 只看该作者
貌似快不到哪去的样子,至少不比除法运算快

使用特权

评论回复
板凳
sinadz| | 2013-12-31 20:46 | 只看该作者
如何对每个点,周围8个点是固定的,那就在初始化处,先生成一张表,记录每个点周围的8(or其他数值)个点,这样遍历时,若需要操作周围的点,就访问这张表。

使用特权

评论回复
地板
无冕之王| | 2013-12-31 20:58 | 只看该作者
对于你的问题 %的速度不会影响什么

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

196

主题

2726

帖子

0

粉丝