希爾排序Shell Sort

希爾排序

相關代碼

class Sort6{
    /**希爾排序
     * 將元素不斷除2分組,到分組數爲1時,
     * 對組內元素使用插入排序
     * **/
    public  void shellSort(int number[]){
        if (number.length <= 1 || number == null)
            return;
        else {
            int temp=number.length/2;
            while (temp>0){
                sort(number,temp);
                temp=temp/2;
        }
        }
     }
     public void sort(int number[],int temp){
        for(int i=temp;i<number.length;i++){
            int x=number[i];
            int j=i-temp;
            while (j>=0&&number[j]>x){
                number[j+temp]=number[j];
                j-=temp;
            }
            number[j+temp]=x;
        }
     }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章