http://www.cricode.com/3212.html

 

public class ShellSort {
    public static void main(String[] args){
        int[] array = {2,6,1,9,4,3,23,65,0,7};
        System.out.print("the array before is:");
        for(int i = 0; i < array.length; i++){
            System.out.print(array[i]+"  ");
        }
        System.out.println(" ");
        System.out.println("the array after is:");
        shellSort(array);        
    }
    private static void shellSort(int[] array){
        int len = array.length;
        int increment = len/2;    
        while(increment >= 1){
            for(int i = 0; i < len; i++){
                for(int j = i; j < len; j = j + increment){
                    if(array[i] > array[j]){
                        int temp = array[j];
                        array[j] = array[i];
                        array[i] = temp;
                    }
                }
            }
            increment = increment/2;
            for(int i = 0; i < array.length; i++){
                System.out.print(array[i]+"  ");
            }
            System.out.println(" ");
        }
    }
    
}

 

相关文章: