法一(自定義函式)
請點擊:冒泡排序影片演示(遍歷多少行、每行交換多少次)
/*步驟構思: 1、宣告命名函式(形引陣列)
2、for設定外回圈, 控制遍歷多少趟
3、for設定內回圈, 控制遍歷交換多少次
4、if設定滿足兩兩比較條件, 索引號進行兩兩和臨時變數的交換
5、return回傳值
6、變數儲存=呼叫函式(實引陣列)
7、 控制臺列印變數輸出 */
function bubble(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
var arr = bubble([100, 26, 4, 13, 200, -21, 59]);
console.log(arr); // [-21, 4, 13, 26, 59, 100, 200]
/*步驟構思: 1、宣告命名函式(形引陣列)
2、for設定外回圈, 控制遍歷多少趟
3、for設定內回圈, 控制遍歷交換多少次
4、if設定滿足兩兩比較條件, 索引號進行兩兩和臨時變數的交換
5、return回傳值
6、變數儲存=呼叫函式(實引陣列)
7、 控制臺列印變數輸出 */
function bubble(arr) {
for (var i = 0; i < arr.length; i++) {
for (var j = 0; j < arr.length - 1; j++) {
if (arr[j] > arr[j + 1]) {
var temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
var arr = bubble([100, 26, 4, 13, 200, -21, 59]);
console.log(arr); // [-21, 4, 13, 26, 59, 100, 200]
法二(內置物件)
function bubSort(newArr) {
/* 注意:內置的物件方法sort()會呼叫toString()轉型,即比較字串
解決:sort()接收一個比較函式compare來解決字串長度一樣的數字大小比較 */
function compare(value1, value2) {
if (value1 < value2) {
return -1;
} else if (value1 > value2) {
return 1;
} else {
return 0;
}
}
newArr.sort(compare); // 物件.sort()是一個內置在JS可以直接被呼叫的方法
return newArr;
}
var newArr = bubSort([100, 200, 26, 13, 4, 87, -66, 59]);
console.log(newArr); //[-66, 4, -13, 26, 59, 87, 100, 200]
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/143273.html
標籤:其他
上一篇:WEB 之 HTML 系列筆記
下一篇:WEB之CSS系列筆記
