誰幫我看一下這個程式,非常感謝,希望懂的前輩給我指點一下

2022-06-03 06:00:13 字數 1014 閱讀 3003

1樓:花花浪客

這個迴圈

for(j=i+1;j

if(array[j]

實際上是為了找出i後面比array[i]小,且最小的那個數,找到之後把這個數與array[i]進行交換。

所以如果你的if(array[j]

但是加了大括號之後,應該是不對的。那個作用完全不同了,是隻要發現後面有比剛剛上一次交換出來的array[i]小的,就對array[i]進行交換。在某些情況下可能會出現正確的結果,但是通常不會正確,比如你輸入

10 1 2 3 4 5 6 7 8 9

這樣的數試試看,加了大括號的話就不對了

2樓:

實際上,書上的更對一些。

你的加了括號,反而是增加了多餘的步驟。

不加括號,**的意思是,遍歷,碰到比最小下標k的元素還小的,最小下標k換成當前元素下標,遍歷結束後,把最小下標k對應的元素與第i個元素對調。

加括號,**意思是,遍歷,碰到比最小下標k的元素還小的,把當前元素與第i個元素對調。實際上這個情況下,變數k是沒什麼用的,下面幾句對調語句,把k換成j也可以。

最終結果是一樣的。

3樓:小雨淋雨

我的理解不一定對,但是我覺得是這樣的,你可以先考慮if條件成立的情況下,程式執行完k=j之後接著執行後面的語句。這個是沒問題的,執行完交換語句之後進行迴圈。如果if不成立條件下,不執行k=j;執行後面的交換語句。

此時k=i,交換之後a[i]的值不變,相當於沒有交換。所以不用加括號和加括號的結果一樣。

4樓:匿名使用者

可以的,假如不加花括號就是執行後面所有語句,直到遇到結束語句,加了花括號就只執行花括號裡的語句。。

5樓:何處可人生

先找到最小值,然後交換,但是加了括號之後,每次交換的值可就不是最小的值了

麻煩幫我看一下四柱好嗎?非常感謝

己 辛 辛 戊 巳 未 未 子 還有姊妹吧?八字不錯,目前物件無影,後年有戲 土過旺以金為用,得人幫助多,喜靜,甲午成婚 四柱說得那麼詳盡,能麻煩幫我也解說一下嗎?要算八字還必須知道具體的出生時間,請補充,謝謝合作!您好,麻煩您幫我看一下八字合不合,非常感謝!男 戊辰 乙卯 乙亥 辛巳 女 乙丑 戊...

各位翡翠大神,幫我看一下估個價!非常感謝

賈子龍偶然拾得點金石,得以與真生重逢。真生傳授他口訣,賈子龍將圓桌點為純金,全部用於資助重修慈雲寺,真生這才放心而去。請大神幫我看下,這款翡翠,評價一下,估計一下價值,謝謝,這是一款天然翡翠a貨,冰種,飄花,山水亭臺樓閣牌,真品無疑問。種質細膩,底子完全化開,但種不夠老,略有霧棉,影響了清透度,個頭...

誰能幫我翻譯一下英文,非常感謝

真實發展而興起的長江三角洲地區其實沒有發生過,直到清末的18世紀90年代.結果開放浦東,上海對外開放水平,對本地區增加非常快速。因為這個原因,外部勢力的發展更為強壯.除了市場開放和 的支援政策,加快源匯聚在這一地區 急劇增加所謂聚類 指加入世貿組織的程序中的外國資本,技術和管理技能,成為這個領域 通...