1樓:
條件 和迴圈的先後順序不同
第一個先迴圈之後 完成與迴圈有關的條件操作比如說 找一個陣列中奇數偶數的個數 最大值 最小值 就可以用這個方法來完成
優點:對陣列操作很方便,建議關於陣列的問題都用這個來完成缺點:沒有什麼吧,覺得挺好的。
硬要說的話 簡單 使用率高第二個就是符合了條件完成一個迴圈 不符合條件完成另一個迴圈 迴圈體和條件的關係不是很大
具體例子暫時沒有想出來 用得不多吧
優點:我覺得沒有
缺點:沒有什麼用處
2樓:幸巴達
這兩個語句塊不是很一樣
假設可以通用的話,從時間複雜度上來說,第二個更優一些。
時間複雜度關鍵是看迴圈的多少。第二個是先做一個判斷在做迴圈。比第一個的速度快很多。入if的兩種可能的概率相等的話。第二個的時間比第一個少一半。
3樓:
個人覺的這兩個好像並不是一樣的效果啊,對於(1)來說,在這n次迴圈中,可能做dosomething(),也可能做dootherthing();而對於(2)來說,要麼就做n次dosomething(),要麼就做n次dootherthig()。
例如:for(i=0;i<10;i++)
//設i的初值為3
但如果假設兩個實現同一個演算法,則我覺的「幸巴達」說的很有道理。
4樓:
第一個是做n次判斷,
條件滿足a次呼叫a次dosomething();
條件滿足b次呼叫b次dootherthing();
第二個是做1次判斷,
滿足條件就呼叫n次dosomething();
否則n次dootherthing();
簡述以下兩個for迴圈的優缺點
5樓:匿名使用者
前者更為簡潔,而後者效率更高些。
n較大時,建議採用後面這種寫法,由於前者老要進行邏輯判斷,打斷了迴圈「流水線」作業,使得編譯器不能對迴圈進行優化處理,降低了效率。
6樓:雋高爽集豆
因該是第二個比第一個嚴謹一些,**強壯些,他是先判斷再去做事!而且第一個每迴圈一次就要判斷一次,很耗資源!而第二個是判斷後再去迴圈!相對來說第二種寫法好些!
誰能看下以下兩個for迴圈的優點和缺點?感激不盡!
7樓:匿名使用者
第二個for迴圈執行速度快,因為把if放迴圈體會增加cpu開銷
習題,兩個程式中for迴圈的優缺點
8樓:匿名使用者
1,第一個for先迴圈後判斷,也就說無論條件如何(除非在if-else中存在break子句)都會將for中的**執行一次。
2,進行一次判斷多次迴圈。
假設,for迴圈一共十次,那麼1中就需要進行20次的計算(if-else算一次)。
在2中需要進行11次的運算。
但是,當迴圈變數會對if-else中的判斷有影響的時候,我們需要使用第一中方法。當沒有影響的時候我們可以採用第二種方法。
希望對你有所幫助。
9樓:
第二個在每個迴圈裡可以省一個判斷,不過這樣寫的前提是for迴圈裡不會對條件的真假造成影響。在1中判斷n次,而2中只判斷1次,會有一定的效率提升
10樓:海洋00之心
第2個的優點是不用每次判斷條件,節省運算量。
不過寫**過程中究竟用哪個並不是看誰有優勢。第一個的if條件是可以隨i改變的,而第二個則在迴圈前就固定了。
j**a 普通for迴圈和增強for迴圈的優缺點
11樓:李西召
普通for迴圈的優點是變數可控,操作起來方便直觀,缺點是較為繁瑣。
增強for迴圈的的優點是**較為簡潔,缺點正是過於簡潔,不便於對其遍歷的元素進行復雜的操作。
一般的,僅僅是遍歷所有元素,選用增強for迴圈,如果需要對遍歷出來的元素進行一些較為複雜的操作,選用普通for迴圈。
簡述投資基金的優缺點,基金的優缺點有那些?
大的 型別有貨幣型 債券型 保本型和 型幾種。貨幣型 無申購贖回費,收益相當於半年到一年期存款,可以隨時贖回,不會虧本。債券型 申購和贖回費比較低,收益一般大於貨幣型,但也有虧損的風險,虧損不會很大。型 申購和贖回費最高,資產是 時 就有虧損的風險,但如果 就有收益。從操作層面,有開放式和封閉式兩種...
簡述公平理論的優缺點是什麼
栗子說社會 公平理論是研究工資報酬分配的合理性 公平性對職工工作積極性影響的理論。優點為 公平理論為組織管理者公平對待每一個職工提供了一種分析處理問題的方法,對於組織管理有較大的啟示意義。缺點為 1 不完全資訊往往使 比較 脫離客觀實際。2 主觀評價 易使 比較 失去客觀標準。3 投入 和 產出 形...
簡述社會發展模式的優缺點
優點 1 改變了人民群眾受壓迫受剝削的社會地位,無產階級和勞動人民成為國家的主人,從根本上保證了工人 農民 知識分子和一切愛國人士管理國家 社會事務的權力和民主權力 2 社會主義是在公有制的基礎上發展生產力,從根本上解決生產的社會化與生產資料私人佔有之間的矛盾,為生產力的發闢廣闊道路 3 提倡按勞分...