JavaScript希尔排序简单介绍
分类:实例代码
JavaScript希尔排序简单介绍属于前端实例代码,有关更多实例代码大家可以查看。
本文介绍JavaScript中的希尔排序。
下面是一段代码实例,给出排序原理,代码实例:
function shellSort(list){ var gap=Math.floor(list.length/2); while(gap>0){ for(i=gap;i<list.length;i++){ temp=list[i]; for(j=i;j>=gap&&list[j-gap]>temp;j-=gap){ list[j]=list[j-gap]; } list[j]=temp; } gap=Math.floor( gap / 2 ); } return list; } var theArray=[2,1,3,12,5,66,23,87,15,32]; console.log(shellSort(theArray));
实现原理:
先取一个小于n的整数d1作为第一个增量,把文件的全部记录分成d1个组。所有距离为d1的倍数的记录放在同一个组中。先在各组内进行直接插入排序;然后,取第二个增量d2<d1重复上述的分组和排序,直至所取的增量dt=1(dt < dt-l< … < d2 < d1),即所有记录放在同一组中进行直接插入排序为止。
JavaScript希尔排序简单介绍,这样的场景在实际项目中还是用的比较多的,关于JavaScript希尔排序简单介绍就介绍到这了。