希尔排序Java代码
时间: 2023-12-18 08:27:10 浏览: 35
以下是希尔排序的Java代码:
```
package totoSort;
import java.util.Arrays;
public class ShellSort {
public static void main(String[] args) {
int[] arrays = new int[] {1,5,2,3,6,9,4,0,1};
for(int gap = arrays.length / 2; gap > 0; gap /= 2) {
for(int i = gap; i < arrays.length; i++) {
for(int j = i - gap; j >= 0; j -= gap) {
if(arrays[j] > arrays[j + gap]) {
int temp = arrays[j];
arrays[j] = arrays[j + gap];
arrays[j + gap] = temp;
}
}
}
}
System.out.println(Arrays.toString(arrays));
}
}
```
该代码实现了希尔排序的核心思想,即通过不断缩小增量来进行排序。具体实现方式是通过循环来不断缩小增量,然后再进行插入排序。在插入排序中,每次比较的元素间隔为增量,而不是1。