算法|希尔排序——JS实现

希尔排序使用JS实现代码:

let dat=[5, 8, 10, 3, 2, 18, 17, 9]; function insertSort(data) { var gap=Math.floor(data.length/2); var temp; //用于存储需要插入的数据 //注意i从gap开始,因为以data[0]为基准数,j=i-1 while(gap>=1){ for(let i=gap; i=0&&data[j]>temp; j=j-gap){//这块j得用var声明,因为在for循环之外的作用域还要用j data[j+gap]=data[j]; } data[j+gap]=temp; //将temp插入合适的位置 } gap=Math.floor(gap/2); } return data; }var sortedData=https://www.it610.com/article/insertSort(dat); console.log(sortedData); //[2,3,5,8,9,10,17,18]

【算法|希尔排序——JS实现】所谓勇者,是心有所惧,唯自知尔!

    推荐阅读