public class ShellSort {
public static void main(String[] args) {
int [] arr = {-1, 5, 2, 8, 45, 4, 1, 0, 40, 32};
// ort(arr);
sortMove(arr);
}
private static void sortMove(int [] arr){
// 将原数组分组, 增量
for (int i = arr.length / 2; i > 0; i /= 2) {
for (int j = i; j < arr.length; j++) {
int index = j;
int value = arr[index];
if (arr[index] < arr[index - i]){
while (index - i >= 0 && value < arr[index - i]){
arr[index] = arr[index - i];
index -= i;
}
arr[index] = value;
}
}
}
listArray(arr);
}
private static void listArray(int [] arr){
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i] + " ");
}
}
}



