public void shellSort(int[] array){ int limit = 1; int temp; int index; while(limit <= array.length/3){ limit = limit * 3 + 1; } while(limit != 0){ for(int i=limit;i<array.length;i++){ temp = array[i]; index = i; while(index > limit-1 && array[index - limit] >= temp){ array[index] = array[index - limit]; index -= limit; } array[index] = temp; } limit = (limit - 1)/3; } }