冒泡排序及其优化(js)
// 冒泡排序
function sortArr(arr) {
for (let i = 0; i < arr.length - 1; i++) {
for (let j = 0; j < arr.length - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
console.log(arr)
return arr;
}
let arr = [20, 5, 8, 2, 44, 1, 6, 2, 8, 9, 4]
console.log(arr)
sortArr(arr)
// 冒泡排序优化
let exchange;
function sortArrGood(arr) {
for (let i = 0; i < arr.length - 1; i++) {
exchange = false;
for (let j = 0; j < arr.length - 1 - i; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
exchange = true;
arr[j] = arr[j - 1];
arr[j - 1] = temp;
}
}
if (!exchange) {
break;
}
}
return arr
}
console.log(sortArrGood(arr))