function ShellSort(A)
{
var n = A.length, i = Math.floor(n/2);
while (i > 0)
{ for (var j = 0; j < n; j++)
{ var k = j, t = A[j];
while (k >= i && A[k-i] > t)
{ A[k] = A[k-i]; k -= i; }
A[k] = t;
}
i = (i==2) ? 1 : Math.floor(i*5/11);
}
return A;
}
Быстрая сортировка на JavaScript:
function QuickSort(A)
{
if (A.length == 0) return [];
var a = [], b = [], p = A[0];
for (var i = 1; i < A.length; i++)
{ if (A[ i ] < p) a[a.length] = A[ i ];
else b[b.length] = A[ i ];
}
return QuickSort(a).concat( p,QuickSort(b) );
}