返回信息流do{}while(1);
for(;1;);
while(1);
那种循环效率高?
这是一条镜像帖。来源:北邮人论坛 / cpp / #34347同步于 2009/12/27
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【请教】循环效率
onion
2009/12/27镜像同步15 回复
订阅后,新回复会通过你的通知中心匿名送达。
9 条回复
呃,我知道这个答案肯定不对,但是可以这样YY。
for和while在第一次循环的时候就要做判断,而do while 第一次进入的时候,不用判断,所以省了@@
要想高效,与其
for(i=0;i<n;i++) {
do something;
}
不如
n1=n/8; n2=n%8;
for(i=0;i<n1;i++) {
do something;
do something;
do something;
do something;
do something;
do something;
do something;
do something;
}
for(i=0;i<n2;i++) {
do something;
}
或者
send(to, from, count)
register short *to, *from;
register count;
{
register n=(count+7)/8;
switch(count%8){
case 0: do{ *to = *from++;
case 7: *to = *from++;
case 6: *to = *from++;
case 5: *to = *from++;
case 4: *to = *from++;
case 3: *to = *from++;
case 2: *to = *from++;
case 1: *to = *from++;
}while(--n>0);
}
}
=。= 你第一种做法 就不判断相当于n次do something,不用循环的语法
第二种 什么意思?n2= n%8 不减少了n的次数了?
【 在 wks 的大作中提到: 】
: 要想高效,与其
: for(i=0;i<n;i++) {
: do something;
: ...................