一、原理:
- 每次将一个待排序的元素与已排序的元素进行逐一比较,直到找到合适的位置按大小插入。
插入排序非常类似于整扑克牌。在开始摸牌时,左手是空的,牌面朝下放在桌上。接着,一次从桌上摸起一张牌,并将它插入到左手一把牌中的正确位置上。为了找到这张牌的正确位置,要将它与手中已有的牌从右到左地进行比较。无论什么时候,左手中的牌都是排好序的。
二、图解
三、代码实现
function insertSort(arr){
for(var i = 1;i<arr.length;i++){
var temp = arr[i];
var j = i-1;
while(j>=0 && arr[j] > arr[j+1]){
arr[j+1] = arr[j];
arr[j] = temp;
j--;
}
}
return arr;
}