【C/C++】循环语句的效率

  C/C++循环语句中,for语句使用频率最高,while语句其次,do语句很少用。本节重点讨论循环体的效率。提高循环体效率的基本办法是降低循环体的复杂性

  • 【建议4-4-1】在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU夸切循环层的次数。
//低效率:长循环在最外层
for (row = 0; row < 100; ++row)
{
    for (col = 0; col < 5; ++col)
    {
        sum += a[row][col];
    }
}

//高效率:长循环在最内层
for (col = 0; col < 5; ++col)
{

    for (row = 0; row < 100; ++row)
    {
        sum += a[row][col];
    }
}
  • 【建议4-4-2】如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。由于多次要进行逻辑判断,打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。
//如果N非常小,两者效率差别并不明显,但是采用这种写法看上去非常简洁
for (i = 0; i < N; ++i)
{
    if (condition)
        DoSomething();
    else
        DoOtherthing();
}

//如果N非常大,采用这种写法可以提高效率
if (condition)
{
    for (i = 0; i < N; ++i)
        DoSomething();
}
else
{
    for (i = 0; i < N; ++i)
        DoOtherthing();
}

原文地址:https://www.cnblogs.com/bootblack/p/11782404.html

时间: 2024-10-10 14:09:10

【C/C++】循环语句的效率的相关文章

C++/ C循环语句的效率问题

循环语句的效率: C++/ C 循环语句中,f or语句使用频率最高,whi l e语句其次,do语句很少用.提高循环体效率的基本办法是降低循环体的复杂性. 1.在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数. 例1: 程序1: for (row = 0; row<100; row++) { for (col = 0; col<5; col++) { sum = sum + a[row][col]; } } 程序2: for (col

循环语句的效率

C++/C 循环语句中,for 语句使用频率最高,while 语句其次,do 语句很少用.本节 重点论述循环体的效率.提高循环体效率的基本办法是降低循环体的复杂性. 1 #include <iostream> 2 3 /* run this program using the console pauser or add your own getch, system("pause") or input loop */ 4 using namespace std; 5 int

Python循环语句

Python语言中的循环结构包含两种语句,分别是while语句和for语句. 1. while语句 while(表达式): -- else: -- 执行过程:当循环表达式为True时,依次执行while中的语句.直到循环表达式的值为False时,才执行else语句或退出循环.其中else子句可以省略,表达式两端的等号也可以省略. 2. for语句 for循环用于遍历一个集合,依次访问集合中的每个项目.格式如下: for 变量 in 集合: -- else: -- 执行过程:每次循环从集合中取出一

Web开发(初级)- python、JavaScript及jQuery循环语句

循环语句 一.概述 python中循环语句有两种,while,for: JavaScript中循环语句有四种,while,do/while,for,for/in jQuery循环语句each 二.python循环语句 2.1 for 循环 # a. li = [1, 2, 3, 4] for i in li:     print(i) # b. li = [1, 2, 3, 4] for i, j in enumerate(li, 1):     print(i, j)      # enume

switch_case,&amp;&amp;,||,条件操作符和逗号操作符,循环语句

一.switch-case switch-case语句主要用在多分支条件的环境中,在这种环境中使用if语句会存在烦琐且效率不高的弊端. switch(expression) { case const expression1: .... case const expression2; ... default: ... } 在执行过程中,expression的值会与每个case的值比较,实现switch语句的功能.关键字case和它所关联的值被称作case标号.每个case标号的值都必须是一个整形常

Swift中的循环语句

循环语句能够使程序代码重复执行.Swift编程语言支持4种循环构造类型:while. do while.for和for in.for和while循环是在执行循环体之前测试循环条件,而do while是在执行循环体之后测试循环条件.这就意味着for和while循环可能连一次循环体都未执行,而do while将至少执行一次循环体.for in是for循环的变形,它是专门为集合遍历而设计的.一.while语句while语句是一种先判断的循环结构,格式如下:while 循环条件 {    语句组 }wh

hell脚本编写 之 条件选择,条件判断,循环语句

1 概述 编写shell脚本,一般离不开条件选择,条件判断以及循环语句.掌握这三个语法,将大大提高脚本的编写效率,使得脚本编写更加灵活,完成X相对复杂的工作 2 条件选择if语句 if语句选择执行,逐条件进行判断,第一次遇为"真"条件时,执行其分支,而后结束整个if语句 if是根据判读条件的命令的退出状态来执行命令,if语句可嵌套 单分支 if 判断条件;then 条件为真的分支代码 fi 双分支 if 判断条件; then 条件为真的分支代码 else 条件为假的分支代码 fi 多分

Java编程基础-选择和循环语句

一.选择结构语句 选择结构:也被称为分支结构.选择结构有特定的语法规则,代码要执行具体的逻辑运算进行判断,逻辑运算的结果有两个,所以产生选择,按照不同的选择执行不同的代码. Java语言提供了两种选择结构语句:if语句和switch语句 1.if语句 if语句有三种语法格式. (1).if语句第一种语法格式(适合一种判断) if(条件表达式){ 语句体; } 执行流程:判断条件表达式的结果,当为为true时,{}中的执行语句体才会执行,否则不执行语句体. 注意: 条件表达式的结果必须是布尔类型:

19 C#循环语句的跳过和中断 continue和break

在C#的循环语句中,有的时候我们希望跳过其中某个循环,有时我们希望当某个条件满足时,直接终止整个循环.C#为我们提供了 continue;和break;语句. continue和break的用法一样,直接写上这个单词,后面加一个分号就行 比如: continue; break; 这两个语句在while循环和for循环中都能使用. 当在循环中遇到continue;语句时,本轮循环中后面的语句就不再执行了.开始执行下一个循环. 当在循环中遇到break;语句时,直接终止整个循环.就是说,不仅当次的循