插入排序:
插入排序的原理是通过构建有序序列,对于未排序的数据,在已排序序列中从后向前扫描,找到相应位置并插入。与我们玩纸牌去排牌一样。
var arr = [5, 100, 25, 36, 42, 4, 2, 7, 389, 12, 8]; function insertSort(arr) { let len = arr.length; for (var i = 1; i < len; i++) { let cur = arr[i]; let j = i - 1; //第一位 // 前一项>当前项的时候 while (j >= 0 && arr[j] > cur) { // 就一直往前找,也叫扫描前面的数值 arr[j + 1] = arr[j]; //把前一项赋值给后一项(arr[j+1] 也就是 arr[i])也叫赋值或者说换位置 j--; } // 直到打破while循环的条件语句,arr[j+1]就是当前for循环中的arr[i]所在的位置 // 然后for循环继续执行i++,继续走while判断,重复这个过程 arr[j + 1] = cur; } return arr; } let res = insertSort(arr); console.log(res);