《编写高质量代码:改善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++)
    {
            /*处理代码*/
    }
}

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

相关文章
|
6月前
|
Java Python
循环程序举例
循环程序举例
45 1
|
6月前
|
C语言
C语言中的条件控制循环:深入解析与实战应用
C语言中的条件控制循环:深入解析与实战应用
81 1
|
6月前
|
C语言
C语言条件控制循环的深入解析
C语言条件控制循环的深入解析
58 0
|
Java
常见的for循环优化方式
经常使用一些循环,进行耗时计算的操作,特别是 for 循环,它是一种重复计算的操作,如果处理不好,耗时就比较大,如果处理书写得当,将大大提高效率,下面总结几条 for 循环的常见优化方式。
122 0
|
Web App开发 存储
用9种办法解决 for 循环取 i
用9种办法解决 for 循环取 i
96 0
|
Python
while循环的妙用
while循环的妙用
89 1
|
小程序
循环结构-用while循环求编写求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n) 的值
循环结构-用while循环求编写求s=1+(1+2)+(1+2+3)+....+(1+2+3+....+n) 的值
503 0
#PY小贴士# for 循环定义的变量,循环外可以用吗?
我们知道,在 python 中要获取一个变量的值,必须是先给它赋值过,不然就是未定义。那么这个 i,代码中没有显式的赋值,在循环体之外还可以用吗?
vba程序用7重循环来计算24
vba程序用7重循环来计算24
76 0
面试官:写一下双重检测单例模式,解释一下每一行,volatile的作用,不加会有什么问题,去掉第一层循环会有什么问题,去掉第二层循环会有什么问题。
面试官:写一下双重检测单例模式,解释一下每一行,volatile的作用,不加会有什么问题,去掉第一层循环会有什么问题,去掉第二层循环会有什么问题。
144 0