JavaScript 算法 2_2 插入排序

// 另存一个数组
function insertSort(arr){
    const temArr = [];
    temArr[0] = arr[0];
    for (let i = 1; i < arr.length; i++) {
        for(let j = i-1; j>=0; j--){
            if(temArr[j] > arr[i]){
                if ((j - 1) >= 0 && temArr[j - 1] <= arr[i]) {
                    for(let m=i-1;m>=j;m--) {
                        temArr[m+1]=temArr[m];
                    }
                    temArr[j] = arr[i];
                    break;
                }
            }else {
                temArr[i] = arr[i];
                break;
            }
        }
    }
    return temArr;
}

// 在原有数组上更改
function insertSort(arr){
    for (let i = 1; i < arr.length; i++) {
        for(let j = i-1; j>=0; j--){
            if(arr[j] > arr[i]){
                if ((j - 1) >= 0 && arr[j - 1] <= arr[i]) {
                    let tem = arr[i];
                    for(let m=i-1;m>=j;m--) {
                        arr[m+1]=arr[m];
                    }
                    arr[j] = tem;
                    break;
                }
            }else {
                break;
            }
        }
    }
} 
原文地址:https://www.cnblogs.com/xiaxiangx/p/14315138.html