排序:希尔排序

2018-03-01  本文已影响0人  Hammy

希尔排序就是增强版的选择排序,插入排序是依次进行插入比较.希尔排序则是选择增量间隔进行比较,这样就可以节省时间效率.时间复杂度为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;
            }
        }
    }

}



上一篇 下一篇

猜你喜欢

热点阅读