首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

(散分)一个循环用法的有关问题,那一个会更好呢

2012-02-23 
(散分)一个循环用法的问题,那一个会更好呢循环1:  for (i0ini++)  {   if(condition)    DoSomething(

(散分)一个循环用法的问题,那一个会更好呢
循环1:
  for (i=0;i<n;i++)
  {
   if(condition)
    DoSomething();
   else
    DoOtherthing();
  }
  循环2:
  if(condition)
  {
   for (i=0;i<n;i++)
    DoSomething()
  }
  else
  {
   for (i=0;i<n;i++)
    DoOtherthing();
  }
  问题1:循环1的优点和缺点。
  问题2:循环2的优点和缺点。..

[解决办法]
如果condition是一个固定的条件,两者的效果是一样的,没有任何区别,所循环的次数都是n,但是我们普遍的想法是当if的条件condition与i无关,则将条件放在循环的外面,否则放在里面。
[解决办法]
个人认为2比较好
1走了n遍循环,n遍判断
2走了n遍循环,1遍判断
2的效率比较高一点点
[解决办法]
后者只作了一次判断,前者作了N次判断
所以后者的效率要好一点(节省了n-1次判断)
[解决办法]
如楼上各位所说,后者节省了n-1次判断 效率更好点
[解决办法]
2好
[解决办法]
2nd
[解决办法]
经典的先循环,还是先判断的问题。

[解决办法]
2 hao!

[解决办法]
1是写法上比较简洁一些 
2效率会高一些吧
[解决办法]
支持2
[解决办法]
两个用法有区别啊,不好比较。
[解决办法]
循环的效率取决取决于你实际的应用。

[解决办法]
當然優缺點要看你程序中的需要。

這樣舉個例子理解一下吧:現在有10個地方你可以去做不同的事情,第一種方法是你一個一個地方去,然后做你該做的不同的事情;第二種方法是你把事情分好類該區什么地方做,然后去做。僅僅考慮到事情的步驟的話,應該差不多!!你說哪個好就哪個好嘍~~
[解决办法]
郁闷看了 半天 不都一样吗?

真奇怪 


[解决办法]
个人认为F2的优点比较大。 
f1是先循环,后作判断。判断时,循环被打断。所以效率会较f2要低。
f2是先判断,后循环。。效率比f1高。
[解决办法]
pt1314917 背着灵魂漫步 

个人认为F2的优点比较大。
f1是先循环,后作判断。判断时,循环被打断。所以效率会较f2要低。 
f2是先判断,后循环。。效率比f1高。 
==============================
 循环被打断 虾米意思啊?
 
[解决办法]
如果樓主想觀察這兩者效率如何,可以造一些數據來比較其性能,實踐是檢驗真理的最好方法.
試試吧.
[解决办法]
自己权衡吧...

汇编效率是非常高滴, 非常难写...
反正为了方便通常牺牲一点效率, 从而提交易用性
[解决办法]
2 的话先判断后循环.虽然表面上是2繁冗.其实2的效率高.并且从其他方面考虑2的功能更好些...
如果DOSOMETHING会改变这个CONDITION的话...

所以还是要看情况的..不过2就比1少了N-1 次判断.但是比1多了遍循环.在实际中没什么速度上的区别...论简洁的话当然是1了,可是2更适合实用.
 
所以觉得2会好一点
[解决办法]
支持楼上的说法!
[解决办法]
路过,2

热点排行
Bad Request.