package com.zz.sort;
import java.util.Random;
public class ShellSort {
public static void main(String[] args) {
//int[] iArraya = new int[]{10,1,8,54,23,51,15};
int iLong = 1000;
int[] iArrgs = new int[iLong];
Random random = new Random();
for(int i = 0; i < iLong; i++) {
iArrgs[i] = random.nextInt(iLong);
}
ShellSort shellSort = new ShellSort();
shellSort.shellSort(iArrgs);
for(int i = 0; i < iArrgs.length; i++) {
System.out.print(iArrgs[i] + " ");
}
}
/**
*
* @param iArray
*/
private void shellSort(int[] iArray) {
int iLength = iArray.length; //数组长度
int d = iLength / 2 ; //步长
while(d > 0) { //根据步长调整顺序,当d=1,就排序.
//无序
for(int i = d; i < iLength; i++) {
int temp = iArray[i];
int j;
//有序
for(j = i - d; j >= 0 && iArray[j + d] < iArray[j]; j = j-d) { //
iArray[j + d] = iArray[j];
}
iArray[j + d] = temp;
}
d = d / 2;//缩小一半补偿
}
}
}
java希尔排序
最新推荐文章于 2022-08-19 11:29:36 发布