循环优化:for 循环尽量保证调用区域小(不要有全局变量),语句简单,不要有循环的函数调用等。
方法:
1 判断语句和表达式:在 for 循环条件中尽量不要出现表达式,而是只是变量,提升效率(表达式可以在 for 前面进行计算完成。),内部也是,尽量减少不必要的表达式语句;
2 函数调用:在 for 循环内,尽量不要出现函数调用,都通过变量+for 循环外调用的方式进行,如果内部有 if 分支内直接 break 或者 return 的逻辑,则没有关系,可以在里面放函数的调用,因为只运行一次的;
3 for 循环嵌套:一般把可以部分 for 循环的放在外部,内部放所有都需要进行循环的,减少循环切换带来的性能损失;
4 全局变量的读写:尽量减少 for 循环中的全局变量的读写次数,能用临时变量,就用临时变量进行代替(这点 for 中尤其突出,但是没有 for 的时候,也尽量做到这一点);
5 for 循环嵌套查找:建议将内层嵌套查找语句封装成 map<key, value>
or unordered_map<key, value>
形式,降低复杂度。