zoukankan      html  css  js  c++  java
  • 循环 结构中的一些问题

           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();

    }

  • 相关阅读:
    Hibernate 学习-3
    Hibernate反向工程使用心得
    MyEclipse中自动整合Spring3+Hibernate/JPA
    jsp页面不显示问题
    jstl获取当前系统时间的方法
    js实现12小时时钟
    从servlet跳到jsp页面,并用jstl 进行判断和显示方法
    jsp调用js文件时出现乱码
    常见异常总结
    js实现表单验证
  • 原文地址:https://www.cnblogs.com/philips-lu/p/3535248.html
Copyright © 2011-2022 走看看