首页 > 代码库 > 笔试题:简述以下两个for循环的优缺点
笔试题:简述以下两个for循环的优缺点
// 第一个for (i=0; i++;){if (condition)DoSomething();elseDoOtherthing();}
优点:程序简洁
缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。每一次循环里都有比较,增加了程序空间复杂度
// 第二个if (condition){for (i=0; i++;)DoSomething();}else{for (i=0; i++;)DoOtherthing();}
优点:循环的效率高,代码相比第一个复杂一点,但循环里没有比较,降低了空间复杂度。
缺点:程序不简洁
1.效率低但程序简洁
2.效率高但程序不简洁
1的程序比2多执行了N-1次逻辑判断。并且由于前者老要进行逻辑判断,打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。如果N非常大,最好采用2的写法,可以提高效率。如果N非常小,两者效率差别并不明显,采用1的写法比较好,因为程序更加简洁。
一个是在for循环加入判断语句 使得循环不连续 增大运行时间
另一个是在判断后执行for循环 虽然没有打断循环连续 但代码增加
如果是同样的逻辑的话 建议不在for循环中加判断
其实这个就是循环内层和外层的大小的问题,C/C++编程规范里面的
笔试题:简述以下两个for循环的优缺点
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。