Java 希尔排序代码
时间: 2023-12-23 17:44:42 浏览: 73
Sure, I can provide you with a Java implementation of the shell sort algorithm. Here is an example:
```
public static void shellSort(int[] arr) {
int n = arr.length;
// Start with a big gap, then reduce the gap
for (int gap = n / 2; gap > 0; gap /= 2) {
// Do a gapped insertion sort for this gap size.
// The first gap elements a[0..gap-1] are already in gapped order
// Keep adding one more element until the entire array is gap sorted
for (int i = gap; i < n; i++) {
// add arr[i] to the elements that have been gap sorted
// save arr[i] in temp and make a hole at position i
int temp = arr[i];
// shift earlier gap-sorted elements up until the correct location for arr[i] is found
int j;
for (j = i; j >= gap && arr[j - gap] > temp; j -= gap) {
arr[j] = arr[j - gap];
}
// put temp (the original arr[i]) in its correct location
arr[j] = temp;
}
}
}
```
Please note that this implementation assumes an array of integers (int[]) as input.
阅读全文