希尔排序(不稳定)-JavaScript

    技术2023-08-06  65

    1.代码:

    function shellSort(arr) { var helf = parseInt(arr.length / 2); //这个是根据其长度来划分间隔 for(let d = helf;d>=1;d=parseInt(d/2))//每次排序完之后,间隔都是原来的一半,但是间隔要大于或者等于1 { for(let i =d;i<arr.length;i++) //从间隔处开始判断 { for(let j = i -d;j>=0;j-=d) //根据对应的间隔顺序,来进行排序 { if(arr[j+d]<arr[j]) { let temp = arr[j+d]; arr[j+d] =arr[j]; arr[j] = temp; } } } } return arr; } var arr=[3,44,38,5,47,15,36,26,27,2,46,4,19,50,48]; var b = shellSort(arr); for(let i=0;i<b.length;i++) { console.log(b[i]); }

    2.具体结果:

     

     

    Processed: 0.009, SQL: 9