先對比前兩個,也就是5和4。如果第壹個比第二個小,什麽都不做;如果第壹個比第二個大,那麽把兩者的位置互換壹下,也就是變成45321;然後比較第二個和第三個,互換位置,就成了43521;然後是第三個和第四個,第四個和第五個,等等。
所以壹層循環的效果就是挑出最大的數字5,泡到底。但是我們必須挑出第二和第三大的數字,以此類推。所以壹層循環根本不夠,必須再套壹層。像這個例子,五個數字至少要經過四個循環。至於為什麽要這樣. length-i,是因為第壹次比較五個數,第二個只需要比較前四個,第五個肯定是最大的。。
var array = [5,4,3,2,1];
var temp = 0;
for(var I = 0;我& lt數組.長度;i++)
{
for(var j = 0;j & ltarray . length-I;j++)
{
if(array[j]& gt;數組[j + 1])
{
temp = array[j+1];
array[j+1]= array[j];
array[j]= temp;
}
}
}
console.log(數組);