有关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次。
这样优化之后,代码的效率就提高了很多。
點擊查看更多內(nèi)容
為 TA 點贊
評論
評論
共同學(xué)習(xí),寫下你的評論
評論加載中...
作者其他優(yōu)質(zhì)文章
正在加載中
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦