js实现希尔排序

简介: js实现希尔排序

function shellSort(arr) {
const len = arr.length;
let gap = Math.floor(len / 2);

while (gap > 0) {
for (let i = gap; i < len; i++) {
let temp = arr[i];
let j = i;

  while (j >= gap && arr[j - gap] > temp) {
    arr[j] = arr[j - gap];
    j -= gap;
  }

  arr[j] = temp;
}

gap = Math.floor(gap / 2);

}

return arr;
}

// 示例用法
const arr = [64, 25, 12, 22, 11];
console.log(shellSort(arr));

目录
相关文章
|
搜索推荐 JavaScript 算法
详细解析冒泡排序,JS如何基本实现的。
详细解析冒泡排序,JS如何基本实现的。
|
JavaScript
js实现插入排序
js实现插入排序
50 0
|
JavaScript
js实现二分查找
js实现二分查找
48 0
|
4月前
|
JavaScript
JS【详解】快速排序
JS【详解】快速排序
44 1
JS【详解】快速排序
|
4月前
|
算法 JavaScript
JS【详解】时间复杂度
JS【详解】时间复杂度
52 1
|
5月前
|
JavaScript 搜索推荐 算法
JS的三种排序方法,它们的原理
JS的三种排序方法,它们的原理
27 0
|
6月前
|
JavaScript 搜索推荐 前端开发
js冒泡排序
js冒泡排序
25 0
|
JavaScript
js实现选择排序
js实现选择排序
46 0
|
JavaScript
js实现冒泡排序
js实现冒泡排序
42 0
|
JavaScript 前端开发 C#
JS中的冒泡排序
JS中的冒泡排序