🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
<hr> <div id="div1"><h3> <font color=red > 希尔排序 </font><h3></div> ![在这里插入图片描述](https://img-blog.csdnimg.cn/20200222134340198.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2ltYWdlX2Z6eA==,size_16,color_FFFFFF,t_70) 第一层循环:将gap依次折半,对序列进行分组,直到gap=1 第二、三层循环:也即直接插入排序所需要的两次循环。 ```javascript function shellSort(arr) { let d = arr.length while (true) { d = Math.floor(d / 2) for (let x = 0; x < d; x++) { for (let i = x + d; i < arr.length; i = i + d) { let temp = arr[i] let j for (j = i - d; j >= 0 && arr[j] > temp; j = j - d) { arr[j + d] = arr[j] } arr[j + d] = temp } } if (d == 1) { break } } return arr } console.log(shellSort([7, 3, 4, 5, 10, 7, 8, 2])) ```