「算法」 -

简介

Posted by eliochiu on November 1, 2022

算法,就是任何良定义的计算过程。

插入排序

输入:$n$个数的序列$< a_1, a_2, a_3 ,…a_n >$

输出:序列的一个排序$< a_1\prime, a_2\prime, … ,a_n\prime$,满足$a_i\prime >= a_{i-1}\prime$

插入排序是一种有效的排序算法,遍历序列元素,当到达a[i]时,将a[i]插入到<a[0] ~ a[i - 1]>中,代码实现如下(JavaScript实现):

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

const nums = [-1, -100, 2, 44, 0, 9, 188];
console.log(insertSort(nums));