public void shellSort(int[] arr) {
int n = arr.length;
int temp = 0;
//第一层循环 决定比较的间隔
for (int i = n/2; i > 0; i /= 2) {
// 第二层循环 数组分成若干子数组
for (int j = i; j < n; j++) {
// 第三层循环 在子数组内进行插入排序算法
int k;
for ( k = j; k <= n && arr[k] < arr[k - i]; k -= i) {
arr[k] = arr[k-i];
}
arr[k-i] = temp;
}
}
for (int i = 0; i < arr.length; i++) {
System.out.println(arr[i]);
}
}
算法-希尔排序
最新推荐文章于 2024-06-22 21:53:36 发布