這一段 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ù)放在后面? ??
? ? ? ? ? ? }? ? ? ? ? ? ? ? ?
? ? ? ? }? ? ? ? ? ? ? ??
? ? }
2019-04-14
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)從小到大的排序。
2019-08-19
數(shù)組是從0開始算的,一共10個數(shù),所以當子循環(huán)里面也為8的時候可以+1這樣子就可以把最大的數(shù)排在最后面了呀
建議自己跟著程序走一遍
2019-05-03
因為數(shù)組arr[]里有10個元素,i是元素的下標,數(shù)組第一個元素是arr[0];i=8,也就是數(shù)組里面倒數(shù)一第二個元素。
上面的圖是剛才隨手畫的;如果有N個元素
第一次冒泡,比較n-1次;、
第二次冒泡,比較n-2次;
第n-1次冒泡,比較1次;
temp就是一個盒子,先把前面的元素放盒子里,再把后面的元素給前面,最后從從盒子里把值給后面的元素,這樣就換元素了,C是不能直接把兩個值互相替換的,
應(yīng)該是這樣的吧?