#include<iostream>
using namespace std;
void shellsort(int *a,int len) //len为最后一个元素的下标
{
int i,j;
int increment=len;
do
{
increment=increment/3+1;
for(i=increment;i<=len;i++)
{
if(a[i]<a[i-increment])
{
int temp=a[i];
for(j=i-increment;j>=0&&a[j]>temp;j-=increment)
{
a[j+increment]=a[j];
}
a[j+increment]=temp;
}
}
} while (increment>1);
}
int main()
{
int a[10]={10,25,8,18,22,4,12};
shellsort(a,6);
return 0;
}