希尔排序
插入排序的升级版
import java.util.Arrays;
public class Paixu {
public static void main(String[] args) {
int[] arr = new int[]{8, 9, 1, 7, 2, 3, 5, 4, 6, 0};
XiEr2(arr);
System.out.println(Arrays.toString(arr));
}
public static void xiEr(int[] arr) {
for (int gap = arr.length / 2; gap > 0; gap /= 2) {
for (int i = gap; i < arr.length; i++) {
int curr = arr[i];
int prev = i - gap;
while (prev >= 0 && curr < arr[prev]) {
arr[prev + gap] = arr[prev];
prev-=gap;
}
arr[prev + gap] = curr;
}
}
}
}