希尔排序算法

来源:互联网 发布:收购淘宝店铺有什么用 编辑:程序博客网 时间:2024/06/02 17:58

希尔排序:把记录按步长 gap 分组,对每组记录采用直接插入排序方法进行排序。随着步长逐渐减小,所分成的组包含的记录越来越多,当步长的值减小到 1 时,整个数据合成为一组,构成一组有序记录,则完成排序。我们来通过演示图,更深入的理解一下这个过程。 




package MyPackage;import java.util.ArrayList;import java.util.Arrays;import java.util.Comparator;import java.util.PriorityQueue;public class Tem {public static void main(String[] args) {int[] a=new int[]{1,6,9,2,4,5,7,9,0,2,1,64,7,2345,63,3,5,676,233,6552,345,34};shellSort(a);System.out.println(Arrays.toString(a));}public static void shellSort(int[] a){for(int h=a.length/2;h>0;h/=2){for(int i=h;i<a.length;i++){int tem =a[i];int j;for(j=i;j>=h&&(tem<a[j-h]);j-=h){a[j]=a[j-h];}a[j]=tem;}}}}




0 0
原创粉丝点击