public class ShellSort {
public static void main(String[] args) {
int[] arr = new int[]{5,9,2,4,6,8,7,1,3};
shelltSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void shelltSort(int[]arr){
//遍历所有步长
for (int d=arr.length/2;d>0;d=d/2){
//遍历所有元素
for (int i=d;i<arr.length;i++){
//遍历本组中所有的元素
for (int j=i-d;j>=0;j-=d){
//如果当前元素大于加上步长之后的元素
if (arr[j]>arr[j+d]){
int temp = arr[j];
arr[j] = arr[j+d];
arr[j+d] = temp;
}
}
}
}
}
}