希尔排序:
希尔排序是插入排序的优化版,由于插入排序会存在时间浪费的情况,利用分组的思想,对插入排序进行优化
代码如下:
public class ShellSort {
public static void main(String[] args) {
int[] arr = {2,6,1,7,4,8,0};
shellSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void shellSort(int[] arr){
for (int gap = arr.length/2;gap>0;gap/=2){
for (int i =gap;i <arr.length;i++){
for (int j = i-gap; j >=0; j-=gap) {
if (arr[j]>arr[j+gap]){
int temp = arr[j];
arr[j] = arr[j+gap];
arr[j+gap] = temp;
}
}
}
}
}
}