package D_common;
import java.util.Scanner;
public class 希尔排序 {
public static void main(String[] args) {
// 10 5 8 6 4 2 1 3 10 7 9
Scanner scanner = new Scanner(System.in);
int n = scanner.nextInt();
int arr[] = new int[n];
for (int i = 0; i < arr.length; i++) {
arr[i] = scanner.nextInt();
}
shellSort(arr);
for (int i : arr) {
System.out.print(i + " ");
}
}
private static void shellSort(int[] arr) {
//gap增量
for (int gap = arr.length / 2; gap > 0; gap /= 2) {
for (int i = gap; i < arr.length; i++) {
for (int j = i - gap; j >= 0; j = j - gap) {
if (arr[j] > arr[j + gap]) {
int temp = arr[j];
arr[j] = arr[j + gap];
arr[j + gap] = temp;
}
}
}
}
}
}
enter:
10
5 8 6 4 2 1 3 10 7 9
output:
1 2 3 4 5 6 7 8 9 10