public static void shellSort(int[] arr){
//首先分组从n/2开始
int d = arr.length / 2;
while (d > 0){
for (int i = 0; i < arr.length; i++) {
//开始插入排序
int end = i - d;
int cur = arr[i];
while (end >= 0) {
if (arr[end] < cur){
break;
}
arr[end + d] = arr[end];
arr[end] = cur;
end-=d;
}
arr[end + d] = cur;
}
d = d / 2;
}
算法之希尔排序
最新推荐文章于 2024-09-14 22:25:23 发布