第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

這一段 i 為啥么是從8開始循環(huán),temp好像也沒什么用啊

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

? ? {

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

? ? ? ? {

? ? ? ? ? ? if(arr[j] > arr[j+1])? ? ? //當前面的數(shù)比后面的數(shù)大時

? ? ? ? ? ? {

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

? ? ? ? ? ? ? ? temp = arr[j];? ? //將前面的數(shù)賦值給temp

? ? ? ? ? ? ? ? arr[j] = arr[j+1];? ? ? ? ? ? ?//前后之數(shù)顛倒位置

? ? ? ? ? ? ? ? arr[j+1] = temp;? ? ? ? ? ? ? //將較大的數(shù)放在后面? ??

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

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

? ? }


正在回答

3 回答

i=8是因為后面j<=i時if里調(diào)用arr[j]和arr[j+1]比較,j+1就可以調(diào)用到第十個數(shù)了;

temp是用來交換值的,arr[j]和arr[j+1]比較后,把大的那個賦給arr[j+1],如此循環(huán)大的值就會一步一步的移到最后面實現(xiàn)從小到大的排序。

1 回復(fù) 有任何疑惑可以回復(fù)我~

數(shù)組是從0開始算的,一共10個數(shù),所以當子循環(huán)里面也為8的時候可以+1這樣子就可以把最大的數(shù)排在最后面了呀

建議自己跟著程序走一遍


0 回復(fù) 有任何疑惑可以回復(fù)我~

https://img1.sycdn.imooc.com//5ccc521100017d5603630261.jpg

因為數(shù)組arr[]里有10個元素,i是元素的下標,數(shù)組第一個元素是arr[0];i=8,也就是數(shù)組里面倒數(shù)一第二個元素。

上面的圖是剛才隨手畫的;如果有N個元素

第一次冒泡,比較n-1次;、

第二次冒泡,比較n-2次;

第n-1次冒泡,比較1次;

temp就是一個盒子,先把前面的元素放盒子里,再把后面的元素給前面,最后從從盒子里把值給后面的元素,這樣就換元素了,C是不能直接把兩個值互相替換的,

應(yīng)該是這樣的吧?

0 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消

這一段 i 為啥么是從8開始循環(huán),temp好像也沒什么用啊

我要回答 關(guān)注問題
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號