package sort; /** * Created by gch on 2017-08-15. */ public class ShellSort { public static void main(String[] args) { int[] arr = {9,8,7,6,5,4,3,1,2}; shellSort(arr); } public static void shellSort(int[] arr){ if(arr == null || arr.length<2){ return; } int len = arr.length; int increment = len/2; while(increment>=1){ for(int i=increment;i<len;i++){ if(arr[i-increment]>arr[i]){ int tmp = arr[i]; int j = i-increment; while(j>=0 && arr[j]>tmp){ arr[j+increment] = arr[j]; j-=increment; } arr[j+increment] = tmp; } for(int k=0;k<arr.length;k++){ System.out.print(arr[k]+" "); } System.out.println(); } increment/=2; } } }