1.理解,插入排序法就是遍歷一波,依次找出每次遍歷元素最合適的位置,然後把它插到該位置
2.當遍歷一波後,每個元素都找到了自己合適的位置就排序好了
3.舉例。3 1 2 5;當遍歷到1時它最合適的位置是0,則把前面的元素往它的位置挪(1 3 2 5),然後遍歷到2時,它的最合適的位置是1,則把前面合適位置到它之間的元素往它的位置挪(1235),排好
4.區別於冒泡法,冒泡法每次都會選出一個最值到0,1,2...的位置,而插入法每次都會把當前元素找到前面最合適的位置插入
var testFun = function () {
var list = [3, 2, 1, 5, 4];
for (var i = 1; i < list.length; i++) {
var temp = list[i];//遍歷選出撲克牌
// console.log(temp);
// var j = i;
// while (j > 0 && list[j-1] > temp) {
// list[j] = list[j - 1];
// j--
// }
// list[j] = temp;//最後空出了一個不滿足的位置(前面有個不滿足的或者到了最前面的位置),選出的temp則插入到該位置
for (var j = i; j >= 0; j--) {
if (list[j - 1] > temp) {
list[j] = list[j - 1];
} else {
break;
}
}
list[j] = temp;
}
}