shellsort.java

来自「java实现的各种排序算法:插入排序、起泡排序、希尔排序等。」· Java 代码 · 共 37 行

JAVA
37
字号
package org.rut.util.algorithm.support; 


/** 
* @author treeroot 
* @since 2006-2-2 
* @version 1.0 
*/ 
public class ShellSort implements SortUtil.Sort{ 

   /* (non-Javadoc) 
    * @see org.rut.util.algorithm.SortUtil.Sort#sort(int[]) 
    */ 
   public void sort(int[] data) { 
       for(int i=data.length/2;i>2;i/=2){ 
           for(int j=0;j<i;j++){ 
               insertSort(data,j,i); 
           } 
       } 
       insertSort(data,0,1); 
   } 

   /** 
    * @param data 
    * @param j 
    * @param i 
    */ 
   private void insertSort(int[] data, int start, int inc) { 
       int temp; 
       for(int i=start+inc;i<data.length;i+=inc){ 
           for(int j=i;(j>=inc)&&(data[j]<data[j-inc]);j-=inc){ 
               SortUtil.swap(data,j,j-inc); 
           } 
       } 
   } 

}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?