亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

誰能幫我解釋一下算法


for(i=0;i<10;i++)

? ? {

? ? ? ? if(i != 9)? ?

? ? ? ? ? ? printf("%.2f, ", arr[i]);? //%.2f表示小數點后精確到兩位

? ? ? ? else

? ? ? ? ? ? printf("%.2f", arr[i]);? ? //%.2f表示小數點后精確到兩位

? ? }

? ? for(i=8; i>=0; i--)

? ? {

? ? ? ? for(j=0;j<=i;j++)

? ? ? ? {

? ? ? ? ? ? if(? ? ? ?? ? ? )? ? ? //當前面的數比后面的數大時

? ? ? ? ? ? {

? ? ? ? ? ? ? ? double temp;? ? //定義臨時變量temp

? ? ? ? ? ? ? ? ?? ? ?//將前面的數賦值給temp

? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? //前后之數顛倒位置

? ? ? ? ? ? ? ? ?? ? ? ? ? ? ? //將較大的數放在后面? ??

? ? ? ? ? ? }? ? ? ? ? ? ? ? ?

? ? ? ? }? ? ? ? ? ? ? ??

? ? }

? ? printf("\n************排隊后*************\n");

? ? for(i=0;i<10;i++)

? ? {

? ? ? ? if(i != 9)? ?

? ? ? ? ? ? printf("%.2f, ", arr[i]);? //%.2f表示小數點后精確到兩位? ? ?

? ? ? ? else

? ? ? ? ? ? printf("%.2f", arr[i]);? ? //%.2f表示小數點后精確到兩位

? ? }


正在回答

2 回答

冒泡排序算法的原理如下:

  1. 比較相鄰的元素。如果第一個比第二個大,就交換他們兩個。

  2. 對每一對相鄰元素做同樣的工作,從開始第一對到結尾的最后一對。在這一點,最后的元素應該會是最大的數。

  3. 針對所有的元素重復以上的步驟,除了最后一個。

  4. 持續每次對越來越少的元素重復上面的步驟,直到沒有任何一對數字需要比較。

emmmmm好像是這樣的,比較出名的一個算法,

先輸出原來的數組,然后使用冒泡排序,然后在輸出排序之后的算法。

先使用一個for循環輸出原來的數組

然后使用一個鑲套的for循環運行冒泡排序

然后再用一個for循環輸出排序之后的

0 回復 有任何疑惑可以回復我~

內層j循環每次將兩兩比較中較大的數不斷傳遞到下一個,最后將這一輪比較所得最大的數排列到最后,外層的i循環每次將上一輪循環去掉最大數后剩下的那組數中最大的數再次通過內層j循環傳遞到本輪末尾。即i循環第1輪,通過將j循環將10個數中最大的傳遞到最后一位;i循環第2輪,通過j循環將剩下9個數中最大數的傳遞到倒數第二位,以此類推。

3 回復 有任何疑惑可以回復我~

舉報

0/150
提交
取消

誰能幫我解釋一下算法

我要回答 關注問題
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號