public static void sortByShell(int[] array){
        LinkedList<Integer> H_list=Series.getH_ShellList(array.length);
        int h=H_list.pop();
        while(h>1){
            for(int i=1;i<array.length;i+=(h+1)){
                int current =array[i];
                int j=i-1;
                while(j>=0&&array[j]>current){
                    array[j+h]=array[j];
                    j-=h;
                }
                array[j+h]=current;
            }
        }
        for(int i=1;i<array.length;i++){
            int current =array[i];
            int j=i-1;
            while(j>=0&&array[j]>current){
                array[j+1]=array[j--];
            }
            array[j+1]=current;
	}
       
       
    }