ShellSort
Posted lipin
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ShellSort相关的知识,希望对你有一定的参考价值。
package Sort; import java.util.Arrays; /** * 希尔排序(Shellsort)也是一种插入排序,它是简单插入排序经过改进之后的一个更高效的版本,也称为缩小增量排序 * 希尔排序:非稳定排序算法 * * */ public class ShellSort public static void main(String[] args) int[] arr = new int[]8, 9, 1, 7, 2, 3, 5, 4, 6, 0; shellSort(arr); System.out.println(" " + Arrays.toString(arr)); public static void shellSort(int[] arr) int length = arr.length; int temp; for (int step = length / 2; step >= 1; step /= 2) // 分组 for (int i = step; i < length; i++) // 遍历各个组 temp = arr[i]; int j = i - step; // 找到组内的其他元素 while (j >= 0 && arr[j] > temp) arr[j + step] = arr[j]; j -= step; arr[j + step] = temp;
以上是关于ShellSort的主要内容,如果未能解决你的问题,请参考以下文章