美文网首页
js算法排序-希尔排序

js算法排序-希尔排序

作者: 小猪佩奇的王子 | 来源:发表于2019-10-30 11:52 被阅读0次
/**
 * 希尔排序
 * 是插入排序的高级写法,对列表按一定间隔做等距离分组处理,每一组进行插入排序
 * 然后逐次对间隔减半,直到为1
 * @param {*} arr
 */
function shellSort(arr) {
    var length = arr.length
    for (
        var gap = Math.floor(arr.length / 2);
        gap > 0;
        gap = Math.floor(gap / 2)
    ) {
        for (var i = gap; i < length; i++) {
            for (var j = 0; j < i; j++) {
                if (arr[i] < arr[j]) {
                    var temp = arr[j]
                    arr[j] = arr[i]
                    arr[i] = temp
                }
            }
        }
    }
    console.log(arr)
}
// shellSort(arr)

相关文章

网友评论

      本文标题:js算法排序-希尔排序

      本文链接:https://www.haomeiwen.com/subject/nydovctx.html