循环次数较少的时候for循环一般不会影响运行效率,但一旦循环次数较多,成千上万的时候,循环次数越多,效率就越慢,最近在做一程序的时候要解决优化问题,反复查看只有优化双重for循环才能提高效率。事实证明,优化后效率提升了一大半。
当然,本文也有借鉴其他博友的方法,根据以下方法提升效率:
1、实例化变量放在for循环外,减少实例化的次数
2、把能在循环外计算的,尽量在循环外计算,减少在内层的运算,有判断条件的语句和与循环不相关的操作语句尽量放在for外面
3、应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数
4、将普通变量变为寄存器变量
在程序运行时,根据需要到内存中相应的存储单元中调用,如果一个变量在程序中频繁使用,例如循环变量,那么,系统就必须多次访问内存中的该单元,影响程序的执行效率。因此,C\C++语言定义了一种变量,不是保存在内存上,而是直接存储在CPU中的寄存器中,这种变量称为寄存器变量。
1,for(int i = 0;i<;i++) 最耗时,
2,for(int i=0,len=();i<len;i++) 次之,
3, for(int i = -1;i>=0;i--) 最快
说明:1,最耗时不需多言
2与3 基本上差距在10%之内