希尔排序介绍
希尔排序是希尔(Donald Shell)于1959年提出的一种排序算法。希尔排序也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序。
希尔排序基本思想
希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序;随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。
下面结合一组数据描述希尔排序的过程
代码实现
/**
* @author chenzhiyuan
* @date 2019-09-04 21:05
*/
public class ShellSort {
public static void main(String[] args) {
int[] nums = new int[]{
10, 2, 11, 56, 0, 8, 90, 22, 1, 66};
for (int num : nums) {
System.out.print(num + "\t");
}
System.out.println();
shellSort(nums);
for (int num