希尔排序

来源:互联网 发布:jquery加载js 编辑:程序博客网 时间:2024/06/05 19:41
<span style="font-size:18px;">/** * 本质还是插入排序,就多了一个增长因子的概念 * @author xxxu * */public class ShellSort {//增长因子可以变private static final int GAP=3;private boolean less(int a,int b){if(a<b){return true;}else{return false;}}private void exch(int[] a,int i,int j){int t=a[i];a[i]=a[j];a[j]=t;}public void show(int[] a){for (int i = 0; i < a.length; i++) {System.out.print(a[i]+" ");}System.out.println();}/* * 比较插入排序,其实没有什么不同,仔细对比代码也会发现,希尔排序经过几轮排序后 * 最后还是需要一个一个比较,只是在前面几轮排序后变得基本上有序了 */public void sort(int[] a){int len=a.length;int h=len/GAP;while(h>0){for (int i = h; i < len; i++) {for (int j = i; j>=h && less(a[j],a[j-h]); j=j-h) {exch(a, j, j-h);}}h=h/GAP;}}}</span>


0 0
原创粉丝点击