如何写好while和for循环
来源:互联网 发布:淘宝旺旺昵称怎么修改 编辑:程序博客网 时间:2024/05/17 23:18
这是编程语言的一个基本问题,其实要点无非三个:
- 除非在刻意的情况下,避免死循环
- 有效的循环
- 保证循环的边界条件正确
产生死循环的主要原因是continue、goto等跳转语句的存在,因为这些跳转可能恰巧跳过了更新循环条件的地方。也许有人认为这种问题是一个正常的码农不会犯这种错误,但是,在有些条件下,真的会发生。
这些条件也可以简单的概括为以下两点:
- 过长的循环体,在增加了跳转语句之后产生更新循环条件的错误会大大增加
解决方案:重构代码,缩减循环体的长度 - 不一致的更新条件:该问题指的是循环条件的更新条件在循环体中不同,例如在遍历vector,并且做删除操作的时候,这时候,如果使用迭代器,循环的更新有两种,一种是符合条件删除之后由erase函数返回的新迭代器,另外一种是不符合条件迭代器的自增操作。
解决方案,在每一个跳转之前,想一想,是不是要加一个迭代器自增的操作,加么?加么?加么?数个三次,基本上就bug free了。
另外,在这种使用迭代器做删除操作的时候,需要注意的是,在循环结束的判断不要使用保存了的end()对象,因为做了删除操作之后,end()会失效!!!
有效循环的要点是在循环中做好充分的剪枝操作,因为,循环基本上是时间开销最大的产生点,几个简单的剪枝操作可能会对程序的执行速度产生很大的影响。
最后,则是保证循环边界条件的正确性,对这一点,就不展开叙述了,因为,每一个coder在设计循环的时候,都需要用边界条件做一个简单的测试,不是么~
- 如何写好while和for循环
- while和for循环
- while 和 for循环
- while 和 for 循环
- for循环和while循环
- while循环和for循环
- while和do..while和for循环
- Java循环for, while和do...while
- JavaScript "For"和"While" 循环
- java for循环和while
- 不用while、for写死循环。
- 用for循环和while循环写华氏温度与摄氏温度的转化
- for循环和while循环区别。
- shell 中的for循环和while循环
- for循环和while循环的区别
- for 循环和while循环区别
- while循环和for循环的区别
- python while循环和for循环
- Android widget 之RemoteView
- SGU 407-Number of Paths in the Empire【DP】
- error X3025:global variebles are implicitly constant,enable compatibility mode to allow modificatiom
- android 自动提示组件
- Android Appwidget 之按钮事件
- 如何写好while和for循环
- Hadoop 公平调度器算法调度解析
- license详解
- 数字三角形问题--动态规划练习(1)
- android读取data/data/包名/file路径下的txt文件
- [JAVA]二进制,八进制,十六进制,十进制间进行相互转换
- Young氏矩阵
- android 布局中的单位及分辨率自解
- C++ extern