1 如果两个或两个以上的for嵌套使用,则执行循环次数多的放最里面,即执行次数由内到外布局,这样可以提高执行速度,如以下应当这样:
const int min = 10; const int max = 100;
for(int i=0;i<min;i++) { for(int j=0;j<max;j++) { } } 而不应当这样:
const int min = 10; const int max = 100;
for(int j=0;j<min;j++) { for(int i=0;i<max;i++) { } } |
2 判断语句,变量的定义等应当尽量放在for外面,而不是放里面:
bool b=true;
for(int j=0;j<100;i++) { if(b) { } } |
上面效率就不理想
比较下面两个优缺点:
void f() { if(b) { for(int i=0;i<100;i++) { Fun1(); } } else { for(int i=0;i<100;i++) { Fun2(); } } }
void f() { for(int i=0;i<100;i++) { if(b) { Fun1(); } else { Fun2(); } } } |
3 尽量使用for而不是while:因为for初值,结束条件,循环增量都放在一起,看起来方便,但灵活性可能比while差