《编写高质量代码:改善c程序代码的125个建议》——建议20-5:尽量将多重循环中最长的循环放在最内层,最短的循环放在最外层

简介:

本节书摘来自华章计算机《编写高质量代码:改善c程序代码的125个建议》一书中的第3章,建议20-5,作者:马 伟 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

建议20-5:尽量将多重循环中最长的循环放在最内层,最短的循环放在最外层

在多重for循环中,如果有可能,应当尽量将最长的循环放在最内层,最短的循环放在最外层,以减少CPU 跨切循环层的次数。如下面的示例代码所示:

for (i=0; i<100; i++)
{
    for ( j=0; j<5; j++ )
    {
            /*处理代码*/
    }
}

为了提高上面代码的执行效率,我们可以依照这条建议将上面的代码修改为如下形式:

for ( j=0; j<5; j++ )
{
    for (i=0; i<100; i++)
    {
            /*处理代码*/
    }
}

这样,既不会失去程序原有的可读性,同时也提高了程序的执行效率。

相关文章
|
8月前
|
Web App开发 存储
用9种办法解决 for 循环取 i
用9种办法解决 for 循环取 i
41 0
|
9月前
|
Web App开发 测试技术
优化循环的方法-循环展开
优化循环的方法-循环展开
60 0
|
10月前
|
小程序
循环结构-用while循环求编写求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n) 的值
循环结构-用while循环求编写求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n) 的值
418 0
|
10月前
|
Python
#PY小贴士# for 循环定义的变量,循环外可以用吗?
我们知道,在 python 中要获取一个变量的值,必须是先给它赋值过,不然就是未定义。那么这个 i,代码中没有显式的赋值,在循环体之外还可以用吗?
|
11月前
|
Python
while循环的妙用
while循环的妙用
52 1
|
11月前
|
Python
巧用for循环嵌套结构
巧用for循环嵌套结构
74 0
|
前端开发
前端工作小结84-for循环逻辑
前端工作小结84-for循环逻辑
52 0
面试官:写一下双重检测单例模式,解释一下每一行,volatile的作用,不加会有什么问题,去掉第一层循环会有什么问题,去掉第二层循环会有什么问题。
面试官:写一下双重检测单例模式,解释一下每一行,volatile的作用,不加会有什么问题,去掉第一层循环会有什么问题,去掉第二层循环会有什么问题。
119 0
表达式树练习实践:C#循环与循环控制
表达式树练习实践:C#循环与循环控制
117 0
|
程序员 索引
for 循环的 5 种写法,哪种最快?
几种遍历方法中for执行最快,它没有任何额外的函数调用栈和上下文。但在实际开发中我们要结合语义话、可读性和程序性能,去选择究竟使用哪种方案。下面来看for , foreach , map , for...in , for...of五种方法现场battle。