希尔排序

来源:互联网 发布:网络阅卷成绩 编辑:程序博客网 时间:2024/06/05 05:37


public class Shell_sort {




public static  void print(int a[]){
for(int i=0;i<a.length;i++){
System.out.print(a[i]+"\t");
}
System.out.println();
}

public static void shell_sort(int[] a){
int n=a.length;
int d=0;
for(d=n/2;d>=1;d=d/2){
for(int i=d;i<n;i++){
int x=a[i];
int j=i-d;
while(a[j]>x){
a[j+d]=a[j];
j=j-d;
if(j<=0)break;
}
a[j+d]=x;
}
}
}


public static void main(String[] args) {
int[] a=new int[]{1,5,7,3,2,4,5,6,7,8,1,2};
print(a);
shell_sort(a);
print(a);
}


}
1 0