希尔排序java 实现
package cl;
public class ShellSort {
//希尔排序
public static void shellSort(int[] arr){
int len = arr.length;
for(int i=len/2;i>0;i/=2){
for(int j=i;j<len;j+=i){
if(arr[j]<arr[j-i]){
int k= j-i;
int temp = arr[j];
while(k>=0&&temp<arr[k]){
arr[k+i]=arr[k];
arr[k]=temp;
k-=i;
}
}
}
}
}
//
public static void main(String[] args){
int[] arr= new int[]{3,6,2,49,19,100,1999,55,298};
shellSort(arr);
//print arr
for(int i=0;i<arr.length;i++){
System.out.print(arr[i]+" ");
}
}
}