package order;
import java.util.Arrays;
/**
* @author:MZH
* @QQ:2563548305
* @Date:2022/9/4 20:23
*/
public class ShellSort {
public static int[] shellSort(int [] array){
//希尔排序的增量
int d = array.length;
while(d>1){
//使用希尔排序的增量方式,每次折半
d = d/2;
for (int x=0;x<d;x++){
//内部是插入排序
for (int i=x+d;i< array.length;i=i+d){
int temp=array[i];
int j;
for (j=i-d;(j>=0)&&(array[j]>temp);j=j-d){
array[j+d]=array[j];
}
array[j+d]=temp;
}
}
}
return array;
}
public static void main(String[] args) {
int [] array = new int[]{6,1,2,9,7,6,2,8};
int[] ints = shellSort(array);
System.out.println(Arrays.toString(ints));
}
}