How do we design the step with increment?
a[i+1] = 3 * a[i] + 1 or
a[i+1] = 2 * a[i] + 1
public static void shellSort(int[] nums){
int len = 1;
//获取要进行compare的长度
while(len < nums.length / 2){
len = len * 2 + 1;
}
for(; len > 0; len = (len-1)/2){
for(int j = nums.length; j - len >=0; j--){
if(nums[j-len] > nums[j]){
swap(nums, j-len, j);
}
}
}
}