js希尔排序


       
    function shellSort (arr) {
         //获取数组的长度
                var len = arr.length 
          //初始化增量
var gap = Math.floor(len / 2)
          //gap 不断减小 当gap为0时 已完全排好序
while(gap >= 1) {
            //以gap 为间隙对数组进行分组 插入排序  
for(var i = gap;i < len; i += gap) { var temp = arr[i] var j = i
while(arr[j - gap] > temp && j > gap - 1) { arr[j] = arr[j - gap] j -= gap } arr[j] = temp }
            //变化增量 gap
= Math.floor (gap / 2) } return arr }

 



 

posted @ 2019-03-09 14:57  那个村  阅读(165)  评论(0)    收藏  举报