插入排序是指,先假定将 n 个元素的数列分为已有序和无序两个部分;然后将无序数
列的第一个元素与有序数列的元素从后往前逐个进行比较,找出插入位置,将该元素插入到
有序数列的合适位置中。过程如下图所示:
使用 JavaScript 编写的插入排序函数如下所示:
function insertionSort(arr) { //从第二个元素开始 for (var i = 1; i < arr.length; i++) { // 取出待比较的元素 var k = arr[i]; // 向前找,找到比当前元素大的位置 var j; for (j = i - 1; j >= 0 && k < arr[j]; j--) { //向后移动一位 arr[j + 1] = arr[j]; } // 插入元素 arr[j + 1] = k; } }