希尔排序(附图)

希尔排序是插入排序的进阶版。
它的基本思想是把一个大的数据集合以条件分割成若干个组合,每个组合进行插入排序。此时插入排序数据量较小,排序的效率更高。

 

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

 

posted @ 2019-08-23 14:24  GrnLeaf  阅读(258)  评论(0编辑  收藏  举报