基本过程
1. 从前往后遍历数组
2. 将当前元素与前面的所有元素比较,若前面元素比当前元素大,将前面元素后移一位3. 直至前面元素比当前元素小,将当前元素替换到此位置JavaScript实现
function fInsertSort(arr){ var len = arr.length; for(var i=1;i < len;i++){ //arr[i] >= arr[i-1],则arr[0-i]为有序, //无需再进行排序,判断可减少不必要的排序 if(arr[i] < arr[i-1]){ var cur = arr[i]; while(j >=0 && arr[j] > cur){ arr[j+1] = arr[j]; j--; } arr[j+1] = cur; } } return arr;}