#include<stdio.h>
void ShellInsert(int a[],int dk,int length)
{
int i,j;
for(i=dk+1;i<=length;i++)
{
if(a[i]<a[i-dk])
{
a[0]=a[i];
for(j=i-dk;j>0&&a[0]<a[j];j-=dk)
a[j+dk]=a[j];
a[j+dk]=a[0];
}
}
}
void ShellSort(int a[],int length)
{
int dk,k;
for(dk=(length+1)/2;dk>=1;dk=dk/2)
{ ShellInsert(a,dk,length);
for(k=1;k<=length;k++)
{
printf("%d ",a[k]);
}
printf("\n");
}
}
int main()
本内容试读结束,登录后可阅读更多
下载后可阅读完整内容,剩余1页未读,立即下载