希尔排序
Posted huangshen
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了希尔排序相关的知识,希望对你有一定的参考价值。
希尔排序
希尔排序法基本思想
希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止
public class ShellSort {
public static void main(String[] args) {
shellSort(creat());
}
public static int[] creat() {
int[] arr = new int[10000000];
for (int i = 0; i < arr.length; i++) {
arr[i] = new Random().nextInt(500000);
}
return arr;
}
public static void shellSort(int [] arr){
long star=System.currentTimeMillis();
for (int step = arr.length; step >0 ; step/=2) {
for (int j = step; j <arr.length ; j++) {
int temp=arr[j];
int index=j;
while (index-step>=0&&temp<arr[index-step]){
arr[index]=arr[index-step];
index-=step;
}
arr[index]=temp;
}
}
long end=System.currentTimeMillis();
System.out.println(end-star);
}
}
以上是关于希尔排序的主要内容,如果未能解决你的问题,请参考以下文章