氣泡排序,是程式設計中一種較簡單的且基本的排序演算法。在應聘職位中我們也常常會遇到此類試題。其原理是重複地對要排序的數進行大小比較,一次比較兩個元素。如果第一個數比第二個數大,則交換順序,把第二個小的數放前面,不斷比較,直到形成一串由小到大排序的數字。下面給大家詳細介紹js中如何實現氣泡排序。
工具/原料
sublime text 3編輯器(也可選擇其他編輯器) google chrome瀏覽器(或其他瀏覽器)
方法/步驟
首先開啟sublime text 3,新建一個html檔案。
新增一個按鈕,如圖。
然後是寫js程式碼。首先申明一個數組並賦值,然後定義一箇中間變數iNum賦值為零:
var aNumber = [10, 23, 2, 4, 6, 8, 26, 43, 66, 33, 90, 75];
var iNum = 0;
然後使用for迴圈遍歷陣列,第一個為迴圈次數,第二個為比較兩個數大小:
for (var i =0 ; i <= aNumber.length - 1; i++) {
for (var j = 0 ; j <= aNumber.length-1-i ; j++) {
}
}
接著是比較兩個數字的大小,如果第一個數比第二個數大,則交換順序,存放在中間變數iNum中,並把第二個小的數放前面,
if (aNumber[j] > aNumber[j+1]) { //降序改為“<”
iNum = aNumber[j];
aNumber[j] = aNumber[j+1];
aNumber[j+1] = iNum;
}
最後列印輸出結果,在瀏覽器中檢視,此結果為升序:
alert(aNumber.toString());
注意事項
如果要改為降序,則只需將if 條件中aNumber[j] > aNumber[j+1],改為"