function bubbleSort(arr) {
const len = arr.length;
for (let i = 0; i < len - 1; ++i) {
for (let j = 0; j < len - 1 - i; ++j) {
if (arr[j] > arr[j+1]) {
swap(arr, j, j+1);
}
}
}
return arr;
}
// 交换数组的两个索引的值
function swap(arr, i, j) {
const tmp = arr[i];
arr[i] = arr[j];
arr[j] = tmp;
}
function errorBubbleSort(arr) {
const len = arr.length;
for (let i = 0; i < len; ++i) {
for (let j = 0; j < len; ++j) {
if (arr[i] < arr[j]) {
swap(arr, i, j);
}
}
}
return arr;
}
errorBubbleSort([5, 3, 1, 2, 4]); // [1, 2, 3, 4, 5]
function errorBubbleSort2(arr) {
const len = arr.length;
for (let i = 0; i < len; ++i) {
for (let j = i + 1; j < len; ++j) {
if (arr[i] > arr[j]) {
swap(arr, i, j);
}
}
}
return arr;
}
errorBubbleSort2([5, 3, 1, 2, 4]); // [1, 2, 3, 4, 5]