插入排序是另一个常用的排序算法,即使它相比快速排序或归并排序而言,性能并不高。它的工作原理是将数组分成两个部分——一部分排好序,一部分没有排序。...我们不知道每个项是否都已经处在正确的位置,所以我们会从第一个项开始排序。
然后我们检查数组里的其它项。对于排序数组里的每一个项,我们都必须找到它恰当的位置。...实际情况是我们循环遍历排好序的部分,并找到第一个较小的项(或数组的开头),并将我们的项放在那里。在这之前,我们对它们做了什么?...44, 55, 20]
console.log(insertionSort(list)) // [ 17, 20, 26, 31, 44, 54, 55, 77, 93 ]
一旦你明白了这个概念,再将其转移到代码上就一点不难...花些时间在上面,在纸上把它写下来,抓住其思想,再去编码就不是问题了。