private
void
ShellSorter(
int
[] list)
{
int
length = list.Length;
for
(
int
h = length / 2; h > 0; h = h / 2)
{
for
(
int
i = 0; i < h; i++)
{
//插入排序
for
(
int
m = i; m < length; m += h)
{
int
t = list[m];
int
j = m;
while
( j>=h && list[j - h] > t)
{
list[j] = list[j - h];
j = j-h;
}
list[j] = t;
}
}
}
}