希尔排序是插入排序的进阶版。
它的基本思想是把一个大的数据集合以条件分割成若干个组合,每个组合进行插入排序。此时插入排序数据量较小,排序的效率更高。
public void xrpx(int arr[]) {
for (int interval=arr.length/2; interval>0; interval=interval/2) {
for (int j=interval; j<arr.length; j++) {
int target = arr[j];
int index = j-interval;
while (index >= 0 && target < arr[index]) {
arr[index+interval] = arr[index];
index-=interval;
}
arr[index+interval] = target;
}
}
}
详细步骤解说可以参考:https://blog.csdn.net/qq_39207948/article/details/80006224