function shell(arr){
var gap = Math.ceil(arr.length/2);
while(gap!=1){
for(var m=0;m<arr.length;m++){
if(arr[m]>arr[m+gap]){
var temp = arr[m];
arr[m] = arr[m+gap];
arr[m+gap] = temp;
}
}
gap = Math.ceil(gap/2);
}
for(var m=0;m<arr.length;m++){
if(arr[m]>arr[m+gap]){
var temp = arr[m];
arr[m] = arr[m+gap];
arr[m+gap] = temp;
}
}
return arr;
}
在研究希尔排序时,通过理解希尔排序的过程,自己写出的代码,测试了几组数据都能正确排序出来,不过我不太确定是不是完全正确的,所以想发出来请教一下大家这个代码是否有问题。