Problem Statement: Given a list of integers arrange them in ascending order.
Shell Sort182 views
function shellSort(list){
function insertionSort(list,start,inc){
var i;
for(i=start+inc;i<list.length;i+=inc){
tmp=list[i];
var j=i-inc ;
while(j>=start&&list[j]>tmp){
list[j+inc]=list[j];
j-=inc;
}
list[j+inc]=tmp;
}
}
var n=list.length,inc=Math.round(n/2);
while(inc>0){
for(var start=0;start<inc;start++){
insertionSort(list,start,inc);
}
inc=Math.round(inc/2.2);
}
return list;
}