插入排序
插入排序每次排一个数组项,以此方法构建最后的排序数组
思路:从数组的第二项开始,以此与前一项进行比较,如果比前一项大,则正确排序,如果没有,则交换位置继续与前一位比较,至排序正确。
function insertSort(array){ var length = array.length, temp; // 我们默认第一位是已经排序的,所以从第二位(索引为1)开始; for(var i = 1; i < length; i++){ j = i; temp = array[i]; // 保存当前要排序的值 while(j > 0 && array[j - 1] > temp){ // 与当前项前面的项进行比较, // 若当前项比前一项小,则交换位置,并继续与前一项比较 array[j] = array[j - 1]; j--; } array[j] = temp; // 将当前项的值插入到指定位置 } }
排序小型数组时,此算法比选择排序和冒泡排序的性能好;