希尔排序
#include<stdio.h>
void shellSort(int *arr,int len)
{
int tmp;
int i,j,Increment;
for(Increment=len/2;Increment>0;Increment/=2)
{
for(i=Increment;i<len;i++)
{
tmp=arr[i];
for(j=i;j>=Increment;j-=Increment)
{
if(tmp<arr[j-Increment])
arr[j]=arr[j-Increment];
else
break;
}
arr[j]=tmp;
}
}
}
int main()
{
int arr[]={2,0,3,4,1,44,45,22,4,7,8};
int len=sizeof(arr)/sizeof(arr[0]);
shellSort(arr,len);
int k=0;
for(;k<len;k++)
{
printf("%d ",arr[k]);
}
system("pause");
return 0;
}