import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class ShellSort {
public static void main(String[] args) {
int[] array = new int[100000000];
for (int i = 0; i < 100000000; i++) {
array[i] = (int) (Math.random() * 1000000000);
}
Date start = new Date();
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println("start :"+simpleDateFormat.format(start));
shellSort(array);
Date end = new Date();
System.out.println("end :"+simpleDateFormat.format(end));
}
/*
移动法
*/
public static void shellSort(int[] array) {
int len = array.length;
int temp = 0;
for (int gap = len / 2; gap >= 1; gap /= 2) {
for (int i = gap; i < len; i++) {
int insertIndex = i - gap;
int insertValue = array[i];
while(insertIndex>=0 && insertValue < array[insertIndex]){
array[insertIndex + gap] = array[insertIndex];
insertIndex -= gap;
}
array[insertIndex + gap] = insertValue;
}
}
}
}
测试希尔排序【移动法】对一亿个数据进行排序所花的时间
最新推荐文章于 2022-08-08 20:49:48 发布