希尔排序使用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实现】所谓勇者,是心有所惧,唯自知尔!
推荐阅读
- 手撕常用排序算法|希尔排序——C语言实现
- 数据结构|希尔排序——直插排序的更好优化
- 植物大战数据结构|植物大战 希尔 排序 ——纯C
- 学习笔记|BootStrap4 入门教程学习摘要笔记
- Typescript|react类组件及函数组件中使用typescript
- 前端|购物车项目代码+页面+连接数据库
- 前端|神奇的Ajax
- Web前端|CSS伪类的实例(1)
- LeetCode|Dynamic Programming --- 动态规划刷题(一)