自用留档
import java.util.Arrays;
public class ShellSort {
public static void main(String[] args)
{
int[] arr={4,8,6,2,12,85,36,14,25,35,52,200,30,68,98,58};
ShellSort(arr);
System.out.println(Arrays.toString(arr));
}
public static void ShellSort(int[] arr){
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 -= gap){
if(arr[j] > arr[j+gap]){
int tmp = arr[j];
arr[j] = arr[j+gap];
arr[j+gap] = tmp;
}
}
}
}
}
}
该代码示例展示了如何使用Java实现Shell排序算法,对一个整数数组进行升序排列。算法通过设置初始间隔gap并逐步减半,比较并交换数组中的元素来达到排序的目的。
2450

被折叠的 条评论
为什么被折叠?



