希尔排序(附图)

旧巷老猫 提交于 2019-11-28 07:45:25

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

 

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

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!