有关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次。
这样优化之后,代码的效率就提高了很多。
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦