//希尔排序 通过测试
public class ShellSortTest{
public static void shellSort(int [] arrays){
for(int d=5;d>0;d=d-2){
for(int c=0;c<arrays.length-d;c++){
for(int i=c;i<arrays.length;i=i+d){
for(int j=i;j>0;j=j-d){
if(j<d)
break;
if(arrays[j]<arrays[j-d]){
int tmp;
tmp=arrays[j];
arrays[j]=arrays[j-d];
arrays[j-d]=tmp;
}
}
}
}
}
}
//-----------------------------------------------------------------------------
public static void main(String[] args){
int x[]={9,8,7,6,5,4,3,2,1};
shellSort(x);
for(int i=0;i<=x.length-1;i++){
System.out.println(x[i]);
}
}
}