实现一个插入排序

37 阅读1分钟

function insert_number(A, i, x) {
    
    let p = i - 1

    // P指向下一个元素
    // p + 1是下一个空位
    while ( p >= 0 && A[p] > x) {
        // 增加一个空位
        A[ p + 1 ] = A[p]
        p--
    }

    A[p + 1] = x

}


function sort_arr(A, x) {

    for ( let i = 0; i<A.length; i++ ) {
        insert_number(A, i, A[i])
    }

}

// 要排序的数组
const arr = [ 1,9,2,5,71,324,92,123 ]

sort_arr(arr)

console.log(arr)  // 排序后结果[ 1, 2, 5, 9, 71, 92, 123, 324 ]