1. 选择排序
let arr = [123, 23, 32, 3, 21, 3, 1, 5, 723, 2] function selectedSort(arr) { const len = arr.length for (let i = 0; i < len - 1; i++) { let minindex = i for (let j = i + 1; j < len; j++) { if (arr[minindex] > arr[j]) { minindex = j } } if (minindex !== i) { [arr[minindex], arr[i]] = [arr[i], arr[minindex]] } } console.log(arr); } selectedSort(arr)
2. 冒泡排序
function bubbingSort(arr){ const len = arr.length for(let i = len-1;i>0;i--){ for(let j=0;j<i;j++){ if(arr[j]>arr[j+1]){ [arr[j],arr[j+1]] =[arr[j+1],arr[j]] } } } return arr}
3. 插入排序
// 原理:就是从一个未排序的数组中先从索引为1的开始 选为开始的值,然后让它与左侧的值进行比较 如果左侧的值比当前的start值还要大,把左侧位置的值插入到后面,然后在进行比较,如果前面的值没有比start值大,将当前的start值插到当前索引所表示的位置,则结束此次循环 从下一个索引继续重复执行以上的操作 let arr = [1, 3, 13, 41, 231, 421, 2, 3, 523] function insertSort(arr) { const len = arr.length for (let i = 1; i < len; i++) { const start = arr[i] let j = i - 1 while (j >= 0 && arr[j] > start) { arr[j + 1] = arr[j] j-- } arr[j + 1] = start } return arr } console.log(insertSort(arr));