#include
typedef struct
{
int r[11];
int length;
}SqList;
void ShellSort (SqList *L)
{
int i, j;
int increment = L->length;
while (increment > 1)
{
increment = increment/3 + 1;
for (i = increment + 1; i < L->length; i++)
{
if (L->r[i] < L->r[i - increment])
{
L->r[0] = L->r[i];
for (j = i - increment;j>0 && L->r[j] > L->r[0]; j-=increment)
L->r[j + increment] = L->r[j];
L->r[j + increment] = L->r[0];
}
}
}
}
int main()
{
SqList list;
int i;
list.length = 11;
for (i = 1; i < 11; i++)
{
scanf ("%d", &list.r[i]);
//getchar();
}
ShellSort(&list);
for (i = 1; i < 11; i++)
printf ("%d ", list.r[i]);
return 0;
}
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/25361369/viewspace-720117/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/25361369/viewspace-720117/