希尔排序

希尔排序

希尔排序算法是插入排序的一种,又叫缩小增量排序,在插入排序基础上进行了改进,先进行宏观上的排序,然后再进行插入排序。

public static void ShellSort (int [] arr){
       for(int gap = arr.length/2;gap >0;gap /=2){
           for(int i = gap;i<arr.length;i++){
               int j = i;
               int temp = arr[j];
               if(arr[j] < arr[j-gap]){
                   while(j-gap >= 0 && temp < arr[j-gap] ){

                       arr[j] = arr[j-gap];
                       j-=gap;
                  }
                   arr[j] = temp;
              }
          }
      }

  }

 

posted @ 2020-07-29 11:08  神也没办法  阅读(83)  评论(0编辑  收藏  举报