继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

java学习之旅-6

android开发学习视频
关注TA
已关注
手记 304
粉丝 52
获赞 322

有关for循环嵌套问题的优化:

for(int i = 0;i < 1000;i ++){        for(int j = 0;j < 100;j ++)        {                for(int k = 0;k < 10;k ++)                {                        System.out.println("(" + i + "," + j + "," + k + ")");                }}}

i,j,k分别:
定义了1,1000,100000次;
初始化了1,1000,100000次;
自增了1000,100000,1000000次。

想要优化此代码,则需要尽可能地减少运算次数。其实i,j,k定义其实只需要一次,上面的代码可以这样改:

int i,j,k;for(i = 0;i < 1000;i ++){        for(j = 0;j < 100;j ++)        {                for(k = 0;k < 10;k ++)                {                        System.out.println("(" + i + "," + j + "," + k + ")");                }}}

i,j,k分别:
定义了1,1,1次;(定义次数减少了)
初始化了1,1000,100000次;
自增了1000,100000,1000000次。

其实,除了减少定义次数外,还可以减少初始化次数,代码如下:

int i,j,k;for(i = 0;i < 10;i ++){        for(j = 0;j < 100;j ++)        {                for(k = 0;k < 1000;k ++)                {                        System.out.println("(" + k + "," + j + "," + i + ")");//交换i和k的位置,保证结果不发生改变。                }}}

i,j,k分别:
定义了1,1,1次;
初始化了1,10,1000次;(初始化次数减少了)
自增了1000,100000,1000000次。

这样优化之后,代码的效率就提高了很多。

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP