点点点。作者: 潘贵 时间: 2013-5-9 00:20
研究研究作者: long 时间: 2013-5-9 01:05
/**希尔排序是基于插入排序的一种算法,时间复杂度为 O(N*(logN)2)。
*下面的希尔排序要求待排序的数组必须实现Comparable接口
*/
public class ShellSort
{
private int[] increment;
/**
*利用希尔排序算法对数组obj进行排序
*/
public void sort(Comparable[] obj)
{
if (obj == null)
{
throw new NullPointerException("The argument can not be null!");
}
//初始化步长
initGap(obj);
//步长依次变化(递减)
for (int i = increment.length - 1 ;i >= 0 ;i-- )
{
int step = increment;
//由步长位置开始