码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2016-04-21 07:37:31      阅读:164      评论:0      收藏:0      [点我收藏+]

标签:程序   效率   循环语句   


循环语句的效率:

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 = 0; col<5; col++)

{

for (row = 0; row<100; row++)

{

sum = sum + a[row][col];

}

}

分析:程序1低效率长循环在最外层程序2高效率长循环在最内层

2.如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。

程序1

for (i = 0; i <N; i++)

{

if (condition)

{

DoSomething();

}

else

{

DoOtherthing();

}

}

程序2:

if (condition)

{

for (i = 0; i < N; i++)

{

DoSomething();

}

}

else

{

for (i = 0; i < N; i++)

{

DoOtherthing();

}

}


分析:程序1效率低但程序简洁程序2效率高但程序不简洁.

补充:

goto语句:能够从多重循环体中咻地一下子跳到外面,用不着写很多次的break语句;由于goto语句存在很多隐患,因此主张少用、慎用goto 语句。

如:

{

{

{

goto error;

}

}

}

error;


 


本文出自 “岩枭” 博客,请务必保留此出处http://yaoyaolx.blog.51cto.com/10732111/1766038

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

标签:程序   效率   循环语句   

原文地址:http://yaoyaolx.blog.51cto.com/10732111/1766038

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!