import java.lang.management.GarbageCollectorMXBean;
import java.util.Arrays;
import java.util.Random;
public class zonghe {
public static void main(String[] args) {
int[] arr = {56, 62, 50, 35, 44,77,42,67,55,89,1};
// maopao(arr);
//xuanze(arr);
//charu(arr);
xier(arr);
System.out.println(Arrays.toString(arr));
}
//希尔排序
public static void xier(int[] arr) {
//思想:
//按照下标的一定增量进行分组,每组使用直接插入排序
//当增量为1时结束
int temp = 0;
//先进行一次使用直接插入排序
for (int grep = (arr.length - 1) / 2;grep > 0;grep = grep / 2) {
for (int j = 0; j < grep; j++) {
for (int i = j; i < arr.length - grep; i = i + grep) {
//定义需要插入数据
int value = arr[i + grep];
while (value < arr[i]) {
arr[i + grep] = arr[i];
i = i - grep;
if (i < 0) {
break;
}
}
arr[i + grep] = value;
}
}
}
}
}
Java数据结构---希尔排序
最新推荐文章于 2024-10-19 22:23:18 发布