package com.algorithm.charactor1;
import java.util.Arrays;
/**
* 希尔排序和 插入排序 基本差不多,间隔 交换
*/
public class ShellSort {
public static void main(String[] args) throws InterruptedException {
Integer [] arr = {3,5,2,1,5,6,4};
int j = 0;
//第一层循环 计算需要 排序的小数组
for (int inteval = arr.length/2; inteval>0; inteval/=2) {
//第二层循环 比较 当前小组累加间隔
for (int i = inteval; i < arr.length ; i++) {
Integer temp = arr[i];
//第三层循环,进行插入操作
for ( j = i; j >=inteval && temp.compareTo(arr[j-inteval]) <0; j -=inteval) {
arr[j] = arr[j-inteval];
}
arr[j] = temp;
}
}
System.out.println(Arrays.toString(arr));
}
}
shell排序 java实现
最新推荐文章于 2021-02-16 08:35:48 发布