package shellSort;
/**
* @author 黄河祥
* @create 2020/3/23 20:18
* 希尔排序,缩小增量的排序
*/
public class ShellSort {
public static void main(String[] args) {
int arr[] = {2, 1, 4, 1, 28, 6, 10, 3, 7,111,0,-1};
shellSort(arr);
System.out.println("排序后:");
for (int i : arr) {
System.out.print(i + " ");
}
}
private static void shellSort(int[] arr) {
int gap = arr.length / 2;//初始步长
while (gap > 0) {//步长为1时候就说明有序了
for (int i = 0; i < arr.length - gap; i++) {
if (arr[i] > arr[i + gap]) {//前面大于后面,交换数据
int temp = arr[i];
arr[i] = arr[i + gap];
arr[i + gap] = temp;
}
}
gap--;
}
}
}
希尔排序
最新推荐文章于 2024-08-22 20:46:59 发布