const arr = [3, 8, 2, 9, 6, 1, 5, 4, 0];
// 位置交换
function swap(array, a, b) {
[array[a], array[b]] = [array[b], array[a]];
}
// 冒泡排序
function bubbleSort(array) {
const { length } = array;
for (let i = 0; i < length; i++) {
for (let j = 0; j < length - 1; j ++) {
if (array[j] > array[j + 1]) {
swap(array, j, j + 1);
}
}
console.log(array);
}
return array;
}
// bubbleSort(arr);
// 选择排序
function selectionSort(array) {
const { length } = array;
for (let i = 0; i < length; i++) {
let minIndex = i;
for (let j = length; j > i; j--) {
if (array[j] < array[minIndex]) {
minIndex = j;
}
}
swap(array, minIndex, i);
console.log(array);
}
}
// selectionSort(arr);
// 插入排序
function insertionSort(array) {
const { length } = array;
for (let i = 1; i < length; i++) {
let temp = array[i];
let j = i;
while (j > 0 && temp < array[j - 1]) {
array[j] = array[j - 1];
j--;
}
array[j] = temp;
console.log(array);
}
}
// insertionSort(arr);
console.log(arr);
console