为了账号安全,请及时绑定邮箱和手机立即绑定

写了一个数组大小排序自己感觉逻辑有点绕,求高手帮看看逻辑有没有问题?

写了一个数组大小排序自己感觉逻辑有点绕,求高手帮看看逻辑有没有问题?

winner4265975 2017-04-06 11:40:07
function shellSort(arr){     var i,j,k,gap,temp;     gap=Math.floor(arr.length/2);     while(gap>0){         for(i=0;i<gap;++i){             for(j=i+gap;j<arr.length;j+=gap){                 temp=arr[j];                 for(k=j-gap;k>=0&&temp<arr[k];k-=gap){                         arr[k+gap]=arr[k];                                           }                 arr[k+gap]=temp;                    }         }  gap=Math.floor(gap/2);     }     return arr;        }
查看完整描述

1 回答

?
ziom

TA贡献948条经验 获得超1109个赞

什么鬼,一个排序至于写这么复杂吗,套这么多层循环,我运行了一下,最后返回的还是原数组 - -

查看完整回答
1 反对 回复 2017-04-06
  • winner4265975
    winner4265975
    谢谢高手帮找bug,我的gap=Math.floor(arr.length/2);写成了gap==Math.floor(arr.length/2);所以返回还是原数组,我知道冒泡排序简单,但是这是另一种排序,这个排序是有点复杂我写的都感觉绕,请帮看下这种排序逻辑!
  • ziom
    ziom
    - -|| 我没帮你找bug,我只是吐槽了一顿。。。
  • ziom
    ziom
    好吧,等我吃完饭再看一下,别指望太多,我也是刚学js
点击展开后面2
  • 1 回答
  • 0 关注
  • 1367 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信