1. 冒泡排序、选择排序
冒泡排序和选择排序是最简单的一种排序算法,他们俩都是通过两层循环将一个数组排序起来,它们的应用场景很少,不过理解一下这两种算法的思想还是有必要的。
2. 核心思想
冒泡排序:边比较边替换
选择排序:先拿最小索引、再替换
3. 案例分析
冒泡排序:
function BubbleSort(arr) {
let len = arr.length - 1;
for (let i = 0; i < len; i ++ ) {
// 边比较边替换
for (let j = 0; j < len; j ++) {
if (arr[j] > arr[j+1]) {
[arr[j], arr[j+1]] = [arr[j+1], arr[j]]
}
}
}
}
let arr = [2, 4, 1, 5]
BubbleSort(arr)
选择排序:
function SelectionSort(arr) {
let len = arr.length - 1
let minIndex = 0
for (let i = 0; i < len; i ++) {
for (let j = 0; j < len; j ++) {
if (arr[j] < arr[j+1]) {
// 拿到最小索引
minIndex = j
}
}
// 再替换
[arr[i], arr[minIndex]] = [arr[minIndex], arr[i]]
}
}
let arr = [2, 4, 1, 5]
SelectionSort(arr)