import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Date;
public class ShellSort {
public static void main(String[] args) {
int[] array = {0, -2, 3, 8, 1, 7, 2, 5};
System.out.println("待排序的数据为:" + Arrays.toString(array));
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));
System.out.println("排序过后的数据为:" + Arrays.toString(array));
}
/*
移动法
*/
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;
}
}
}
}
版权声明:本文为ytc958374686原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。