免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1781 | 回复: 2
打印 上一主题 下一主题

循环语句 [复制链接]

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:49:03
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-01-26 02:00 |只看该作者 |倒序浏览
1.在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数

2.如果循环体内存在逻辑判断,并且循环次数很大,宜将逻辑判断移到循环体的外面。
􀂋
3.建议for语句的循环控制变量的取值采用“半开半闭区间”写法。

上面三句話的意思我不太懂 ,有朋友用簡單代碼說明一下上面三句話代碼的意思嗎?

謝謝

论坛徽章:
0
2 [报告]
发表于 2008-01-26 10:09 |只看该作者
1、如果频繁的切换循环可能会降低CPU cache的命中率;
2、每循环一次判断一次和判断一次然后循环多次,哪个效率更高?显然是后者
3、不太明白,“半开半闭区间”是说使用这样的写法吗:for (i = 0; i < 10; i++)

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
3 [报告]
发表于 2008-01-27 13:32 |只看该作者
for (int x=0; x<N;x++)中的x值属于半开半闭区间“0 =< x < N”,起点到终点的间隔为N,循环次数为N。

for (int x=0; x<=N-1; x++)中的x值属于闭区间“0 =< x <= N-1”,起点到终点的间隔为N-1,循环次数为N。
前者写法更加直观,尽管两者的功能是相同的。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP