ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 希尔排序

希尔排序

原创 Linux操作系统 作者:tyoodz 时间:2012-04-01 10:58:51 0 删除 编辑
#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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: 策略模式
下一篇: 选择排序
请登录后发表评论 登录
全部评论

注册时间:2011-05-16

  • 博文量
    55
  • 访问量
    74245