希尔排序1

来源:互联网 发布:福州公司网络管理制员 编辑:程序博客网 时间:2024/05/19 22:05

int printA(int a[],int len)//打印
{
int i;
for(i = 0; i<len;i++)
{
printf("%d\n",a[i]);
}
}

int main()
{
int i,j,get;
int a[5] = {2,3,1,6,9};
int len = sizeof(a)/sizeof(a[0]);
int d = 0;
while(d<len)
{
d = d*3+1;
}
while(d > 3)
{
for(i=1;i<len;i++)
{
get = a[i];
j = i-d;
while(j>=0 && a[j]>get)
{
a[j+d] = a[j];
j = j-d;
}
a[j+d] = get;
}
d = (d-1)/3;
}
printA(a,len);
}

     


原创粉丝点击