冒泡排序(Bubble Sort):是一種計算機科學領域的較簡單的排序方法。是把一系列的數(shù)據(jù)按照一定的順序進行排列顯示(從小到大或從大到小) 它重復地走訪過要排序的數(shù)列,一次比較兩個元素,如果他們的順序錯誤就把他們交換過來。走訪數(shù)列的工作是重復地進行直到?jīng)]有再需要交換,也就是說該數(shù)列已經(jīng)排序完成。這個算法的名字由來是因為越小的元素會經(jīng)由交換慢慢“浮”到數(shù)列的頂端。
例如,我們可以將數(shù)組 [5,4,3,2,1] 中的元素按照從小到大的順序排序,輸出:1,2,3,4,5
利用雙重for循環(huán)語句可以達到冒泡排序的方法



思路分析:
1.一共需要的趟數(shù)我們用外層for循環(huán);5個數(shù)據(jù)我們一共需要走4趟;長度就是數(shù)組長度減去1 arr.length - 1
⒉.每一趟交換次數(shù)我們用里層for循環(huán);第一趟交換4次;第二趟交換3次;第三趟交換2次;第四趟交換1次;長度就是數(shù)組長度減去次數(shù)但是我們次數(shù)是從0次開始的;所以最終arr.length - i -1
3.交換2個變量就好了
代碼演示:
//?冒泡排序
<script>
????var?arr?=?[5,?2,?3,?4,?1];
????for?(var?i?=?0;?i?<=?arr.length?-?1;?i++)?{?//外層循環(huán)管趟數(shù)
????????for?(var?j?=?0;?j?<=?arr.length?-?i?-?1;?j++)?{?//?里面的循環(huán)管每一趟的交換次數(shù)
????????????//??內(nèi)部交換2個變量的值前一個和后面一個數(shù)組元素相比較
????????????if?(arr[j]?>?arr[j?+?1])?{? //更改if里面條件語句控制排序類型;這里是從大到小
// 交換其中的變量值
????????????????var?temp?=?arr[j];
????????????????arr[j]?=?arr[j?+?1];
????????????????arr[j?+?1]?=?temp;
????????????}
????????}
????}
????console.log(arr); // 打印輸出arr數(shù)組
</script>
此文若有出入,請指出!
此致,敬禮!