美文网首页
排序:希尔排序

排序:希尔排序

作者: Hammy | 来源:发表于2018-03-01 18:24 被阅读0次

    希尔排序就是增强版的选择排序,插入排序是依次进行插入比较.希尔排序则是选择增量间隔进行比较,这样就可以节省时间效率.时间复杂度为nlogn.

    代码:

    /**
     * Created by Hammy on 2018/3/1.
     */
    public class ShellSort
    {
        /**
         * 希尔排序的核心就是取一定的间隔进行插入排序
         */
        public static void sort(int[] array){
            int n=array.length;
            int j;
            for(int gap=n/2;gap>0;gap=gap/2){
                for(int i=gap;i<n;i++){
                    int temp = array[i];
                    for(j=i;j>=gap&&array[j-gap]>temp;j-=gap){
                        array[j]=array[j-gap];
                    }
    
                    array[j]=temp;
                }
            }
        }
    
    }
    
    
    
    

    相关文章

      网友评论

          本文标题:排序:希尔排序

          本文链接:https://www.haomeiwen.com/subject/zsdnxftx.html