循环 结构中的一些问题

       C++/C循环语句中,for循环语句的使用频率最高,其次是while循环语句,最后是do语句,事实上笔者最喜欢的还是将for语句用于有限次循环语句,while用于无限循环或者条件(中断)循环,do语句几乎不用。但是此时此刻谁用的多谁用的少已经无关紧要了,我们更关心的是循环体的效率问题,提高循环体的效率的最基本办法就是降低循环体的复杂性。

       在实际多层循环应用种,如果可能,应将最长的循环放在最内层,最短的循环放在最外层,这样可以减少CPU扩月循环层的次数。具体如下:

//以下代码效率高,长循环再内层

Unsigned char I;

Unsigned char j;

Unsigned char k;

For( i=0; i<10; i++)

{

For( j=0; j<100; j++)

{

K=16*i+j;

}

}

//以下代码效率低,长循环再外层

Unsigned char I;

Unsigned char j;

Unsigned char k;

For( i=0; i<100; i++)

{

For( j=0; j<10; j++)

{

K=4*i+j;

}

}

如果循环体内存在逻辑判断,并且循环的次数较大,此时最好将逻辑判断移到循环体外部。当然对于循环次数较少的情况下可以牺牲一点效率问题换取代码的简洁性:

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

{

If(condition)

Do_Something();

Else

Do_Otherthing();

}

If(condition)

{

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

DoSomething();

}

Else

{

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

DoOtherthing();

}

转载于:https://www.cnblogs.com/philips-lu/p/3535248.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值