希尔排序

来源:互联网 发布:列数据的作用 编辑:程序博客网 时间:2024/06/03 18:26
/** * 希尔排序:是在插入排序的基础上优化的一种排序 * 首先,把要排序的数按增量间隔分成小序列,这些小序列按直接插入排序排好,然后缩减增量间隔 *  */int[] a= {2,1,4,7,8,3};int n= a.length;//分割成小序列for(int gap=n/2;gap>0;gap=gap/2){//每个序列的开始值for(int i=0;i<gap;i++){int j=i;//直接插入排序排分割的序列for(;j<n;j+=gap){int temp=a[j];int k=j-gap;while(k>=0&&temp<a[k]){System.out.println(k);a[k+gap]=a[k];k-=gap;}a[k+gap]=temp;}}}

0 0
原创粉丝点击