降序排列数组

  1. function insertionSort(arr) {
  2. let len = arr.length;
  3. for (let i = 1; i < len; i++) {
  4. const temp = arr[i];
  5. let j = i;
  6. for (j; j > 0 && arr[j - 1] < temp; j--) {
  7. arr[j] = arr[j - 1];
  8. }
  9. arr[j] = temp;
  10. }
  11. return arr;
  12. }

算法测试

  1. console.log(insertionSort([3, 6, 1, 8, 9, 5]));
  2. // [ 9, 8, 6, 5, 3, 1 ]
  3. console.log(insertionSort([-3, 7, -8, 4, 6, -5, -4, 5]));
  4. // [ 7, 6, 5, 4, -3, -4, -5, -8 ]
  5. console.log(insertionSort([12, 0, 3, -4, 3, 78]));
  6. // [ 78, 12, 3, 3, 0, -4 ]