/* */
void shell_sort_0(int array[], int num)
{
int i, j, gap, tmp;
gap = num / 2;
while(gap > 0)
{
for(i=gap; i<num; i++)
{
j = i - gap;
while(j >= 0)
{
if(array[j] > array[j+gap])
{
tmp = array[j];
array[j] = array[j+gap];
array[j+gap] = tmp;
j = j - gap;
}
else
{
j--;
}
}
}
gap = gap / 2;
}
}
/* */
void shell_sort_1(int v[], int n)
{
int gap, i, j, temp;
for(gap = n/2; gap > 0; gap /= 2)
{
for(i = gap; i < n; i++)
{
for(j=i-gap; j>=0 && v[j]>v[j+gap]; j-=gap)
{
temp = v[j];
v[j] = v[j+gap];
v[j+gap] = temp;
}
}
}
}