希尔排序算法
来源:互联网 发布:淘宝图片侵权赔偿标准 编辑:程序博客网 时间:2024/05/23 11:29
//希尔排序
function shellSort(array){
var stepArr = [1750, 701, 301, 132, 57, 23, 10, 4, 1];// reverse()在维基上看到这个最优的步长较小数组
var i = 0;
var stepArrLength = stepArr.length;
var len = array.length;
var len2 = parseInt(len/2);
for(;i < stepArrLength; i++){
if(stepArr[i] > len2){
continue;
}
stepSort(stepArr[i]);
}
// 排序一个步长
function stepSort(step){
//console.log(step) 使用的步长统计
var i = 0, j = 0, f, tem, key;
var stepLen = len%step > 0 ? parseInt(len/step) + 1 : len/step;
for(;i < step; i++){// 依次循环列
for(j=1;/*j < stepLen && */step * j + i < len; j++){//依次循环每列的每行
tem = f = step * j + i;
key = array[f];
while((tem-=step) >= 0){// 依次向上查找
if(array[tem] > key){
array[tem+step] = array[tem];
}else{
break;
}
}
array[tem + step ] = key;
}
}
}
return array;
}
- 排序算法--希尔排序
- 排序算法-希尔排序
- 排序算法--希尔排序
- 排序算法--希尔排序
- 排序算法---希尔排序
- 排序算法---希尔排序
- 排序算法--希尔排序
- 排序算法--希尔排序
- 排序算法:希尔排序
- 排序算法:希尔排序
- 【排序算法】希尔排序
- 排序算法---希尔排序
- 排序算法:希尔排序
- 排序算法-希尔排序
- 排序算法---希尔排序
- 排序算法-- 希尔排序
- 排序算法-希尔排序
- 排序算法:希尔排序
- BOM—浏览器对象模型
- Connect 源码解析(一)
- Leetcode 198. House Robber
- c++第5次作业
- 装饰者模式、桥接模式、适配器模式
- 希尔排序算法
- swift 字典和数组
- Notification
- UIAlertController
- microstation level2 0404
- OC下载网页
- 进程与线程
- php 字符串
- Hibernate data validator in spring integration