希尔排序代码实现
package com.shell;
import sun.text.resources.cldr.or.FormatData_or;
public class shellSort {
public static int[] shellSort(int[] array) {
// 1. 分组-找间隔
int value = array.length / 2;
while (value > 0) {
for (int i = 0; i < array.length; i++) {
int j = i;
while ((j - value >= 0) && (array[j] < array[j - value])) {
int temp = array[j - value];
array[j - value] = array[j];
array[j] = temp;
j -= value;
}
}
value /= 2;
}
return array;
}
public static void main(String[] args) {
int[] array = {9, 3, 6, 8, 7, 5};
System.out.println("之前的排序");
for (int i = 0; i < array.length; i++) {
System.out.println(array[i] + "");
}
//调用排序方法
int[] result_array = shellSort(array);
System.out.println("希尔排序");
for (int i = 0; i < result_array.length; i++) {
System.out.println(result_array[i] + "");
}
}
}