void Shell(int *arr,int len,int gap)
{
int tmp,i,j;
for(i = gap;i <len;i++)
{
tmp = arr[gap];
for(j = i-gap;j >= 0;j = j-gap)
{
if(arr[j] <= tmp)
{
break;
}
else
{
arr[j+gap] = arr[j];
}
}
arr[j+gap] = tmp;
}
}
void ShellSort(int *arr,int len)
{
int a[] = {5,3,1};
for(int i = 0;i<sizeof(a)/sizeof(a[0]);i++)
{
Shell(arr,len,a[i]);
}
}