如何使用 JavaScript 实现希尔排序? - 项越资源网-html css js 用法分享社区-开发交流-项越资源网

如何使用 JavaScript 实现希尔排序?

/* 如何使用 JavaScript 实现希尔排序? */
function shellSort(arr) {
  var len = arr.length,
    temp,
    gap = 1;
  while (gap < len / 3) { //动态定义间隔序列
    gap = gap * 3 + 1;
  }
  for (gap; gap > 0; gap = Math.floor(gap / 3)) {
    for (var i = gap; i < len; i++) {
      temp = arr[i];
      for (var j = i - gap; j >= 0 && arr[j] > temp; j -= gap) {
        arr[j + gap] = arr[j];
      }
      arr[j + gap] = temp;
    }
  }
  return arr;
}
请登录后发表评论

    没有回复内容