public static void shellSort(int[] list)
{
for (int k = findK(list.length); k > 0; k = prevK(k))
for (int loop = 0; loop < k; loop++)
{
for (int top = k + loop; top < list.length; top += k)
{
int i;
int item = list[top];
for (i = top; i > 0 + loop && item < list[i-k]; i -= k)
list[i] = list[i-k];
list[i] = item;
}
}
}
|