写一个希尔排序java实现
时间: 2024-04-10 22:24:54 浏览: 63
Java经典排序算法之希尔排序详解
希尔排序是一种改进的插入排序算法,它通过将数组分成多个子序列来提高插入排序的效率。以下是一个希尔排序的Java实现示例:
```java
public class ShellSort {
public static void shellSort(int[] arr) {
int n = arr.length;
for (int gap = n / 2; gap > 0; gap /= 2) {
for (int i = gap; i < n; i++) {
int temp = arr[i];
int j;
for (j = i; j >= gap && arr[j - gap] > temp; j -= gap) {
arr[j] = arr[j - gap];
}
arr[j] = temp;
}
}
}
public static void main(String[] args) {
int[] arr = {9, 5, 1, 4, 3, 2, 8, 7, 6};
shellSort(arr);
System.out.println("排序结果:");
for (int num : arr) {
System.out.print(num + " ");
}
}
}
```
阅读全文