js 插入算法

// 插入算法算法

// 插入排序有點相似人類按字母順序對數據進行排序,就如同你打撲克牌同樣,將摸來的撲克按大小放到合適的位置同樣。它的原理就是經過嵌套循環,外循環將數組元素挨個移動,而內循環則對外循環中選中的元素及它後面的元素進行比較;若是外循環中選中的元素比內循環中選中的元素小,那麼數組元素會向右移動,爲內循環中的這個元素騰出位置。
// 實現步驟以下:數組

// 1.從第一個元素開始,該元素默認已經被排序
// 2.取出下一個元素,在已經排序的元素序列中從後向前掃描
// 3.若是該元素(已排序)大於新元素,將該元素移到下一位置
// 4.重複步驟3,直到找到已排序的元素小於或者等於新元素的位置
// 5.將新元素插入到該位置
// 6.重複步驟2~5,直到排序完成code

function insertionSort(arr) {排序

var len = arr.length;
var preIndex, current;
for (var i = 1; i < len; i++) {
    preIndex = i - 1;
    current = arr[i];
    while(preIndex >= 0 && arr[preIndex] > current) {
        arr[preIndex+1] = arr[preIndex];
        preIndex--;
    }
    arr[preIndex+1] = current;
}
return arr;

}io

const arr = [91, 60, 96, 7, 35, 65, 10, 65, 9, 30, 20, 31, 77, 81, 24];
console.log(insertionSort(arr));console

相關文章
相關標籤/搜索