排序-插入排序法

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;
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章