多重迴圈的優化

2021-06-18 09:47:55 字數 472 閱讀 7671

**1 

for(int i=0;i<1000;i++)

}}

**2

for(int k=0;k<10;k++)

}}

**1和**2,初一看,function都要執行10*100*1000次,效率是一樣的。

但是事實上**2的效率更高。

因為在大量的迴圈次數時,迴圈變數的比較次數也是很重要的。

**1的迴圈變數的比較次數是

i=1000次

j=1000*100次

k=1000*100*10次

**2的迴圈變數的比較次數是

k=10次

j=10*100次

i=10*100*1000次

所以**2的比較次數比**1的比較次數少了99990次!

同樣的,**2的i++,j++,k++的執行次數比**1的要少。

多重迴圈效能優化

迴圈次數較多,迴圈層數較多時,程式效率問題非常明顯。優化後的多重for迴圈可以提公升大半的效率。一 例項化變數盡量放在for迴圈體外,只例項化一次。二 普通變數改為暫存器變數,如i 改為 i。前置遞增運算避免了不必要的工作,它把值加1後直接返回改變了運算物件本身。三 條件比較使用 要快於 同理 要快...

迴圈與多重迴圈

迴圈結構 while 條件 dowhile 條件 for 初始值 條件 更改迴圈變數的值 while和 for 迴圈 都是先判斷再執行 語法有些區別 do while 是先執行 再判斷 至少執行一次 迴圈次數確定的情況,通常選用for迴圈 迴圈次數不確定的情況,通常選用while或do while迴...

多重for迴圈巢狀

for迴圈定義 同過乙個簡單的表示式,來完成多次重複性的 功能 格式如下 for 變數初始值 變數取值範圍 變數自增 自減 乙個複雜的for迴圈中可以巢狀多個同級的for迴圈,一般表現如下 for 變數初始值 變數取值範圍 變數自增 自減 for 變數初始值 變數取值範圍 變數自增 自減 多重for...