
function swap(arr, i, j) {
let temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
return arr
}
Array.prototype.bubble = function bubble() {
// this -> ary
let _this = this,
flag = false
// 控制循环多少轮
for (let i = 0
// 控制每一轮循环多少次
for (let j = 0
// 交换位置
if (_this[j] > _this[j + 1]) {
swap(_this, j, j + 1)
flag = true
}
}
if (!flag) break
flag = false
}
return _this
}
let ary = [12, 8, 24, 16, 1]
ary.bubble()
console.log(ary)
简单实现:
function swap(arr, i, j) {
let temp = arr[i]
arr[i] = arr[j]
arr[j] = temp
}
var arr = [1, 4, 21, 45, 24, 23],
flag = false
//正序
for (let i = 0
for (let j = 0
if (arr[j] < arr[j + 1]) {
swap(arr, j + 1, j)
flag = true
}
}
if (!flag) break
flag = false
}