希尔排序
用图了解希尔排序
class xiErSort
import java.util.Arrays;
public class xiErSort {
public static void main(String[] args) {
//准备数据
int[] arrays= new int[]{2,1,3,5,4,7,6,8,9,0};
//确定排序的次数
for(int setp= arrays.length/2;setp>=1;setp=setp/2){
//上面是希尔排序确定比较次数的特点
//知道了比较次数我们还需要知道,每次参与比较得数据是哪些
for(int i=setp;i<arrays.length;i++){
//具体参与比较的数据
for (int j=i-setp;j>=0;j=j-setp){
if(arrays[j]>arrays[j+setp]){
int temp=arrays[j+setp];
arrays[j+setp]=arrays[j];
arrays[j]=temp;
}
}
}
}
System.out.println("使用希尔排序排序后的数据"+Arrays.toString(arrays));
}
}