1.冒泡排序是比较相邻位置的两个数,而选择排序是按顺序比较,找最大值或者最小值;
2.冒泡排序每一轮比较后,位置不对都需要换位置,选择排序每一轮比较都只需要换一次位置;
3.冒泡排序是通过数去找位置,选择排序是给定位置去找数;
1.冒泡排序
let arr = [1, 3, 2, 5, 8, 4, 9]; function maopao(arr) { len = arr.length;
for (let i = 0; i <= len - 1; i++) {
for (let j = 0; j <= len - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
return arr;
}
console.table(maopao(arr));
2选择排序
let arr = [1, 3, 2, 5, 8, 4, 9];
function xuanze(arr) {
let len = arr.length;
for (let i = 1; i <= len; i++) {
var min = i;
for (let j = i + 1; j < len; j++) {
if (arr[min] > arr[j]) {
min = j;
}
if (min != i) {
let temp = arr[min];
arr[min] = arr[i];
arr[i] = temp;
}
} }
return arr;
}
console.log(xuanze(arr));