希尔排序

来源:互联网 发布:网络统考英语过不去 编辑:程序博客网 时间:2024/05/17 02:02

希尔排序

插入排序的一种。


package test;public class MergeSort {public static void main(String[] args) {int[] a={4,2,1,6,3,6,0,-5,1,1};shellsort(a);for(int i=0;i<a.length;i++){System.out.print(a[i]+" ");}}public static void shellsort(int[] a){int d=a.length;while(true){d=d/2;for(int x=0;x<d;x++){for(int i=x+d;i<a.length;i=i+d){//从第二个数开始插入int temp=a[i];//临时保存要插入的数int j;for(j=i-d;j>=0&&a[j]>temp;j=j-d){//从后往前,找到比temp更小的数a[j+d]=a[j];}a[j+d]=temp;}}if(d==1){break;}}}}


原创粉丝点击