JAVA基础应用: 如何实现希尔排序算法
2008-01-05 08:26:11 来源:WEB开发网核心提示:package Utils.Sort; /** *希尔排序, 要求待排序的数组必须实现Comparable接口 */ public cla
package Utils.Sort;
/**
*希尔排序, 要求待排序的数组必须实现Comparable接口
*/
public class ShellSort implements SortStrategy
{
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[i];
//由步长位置开始
for (int j = step ;j < obj.length ;j++ )
{
Comparable tmp;
//假如后面的小于前面的(相隔step),则与前面的交换
更多精彩
赞助商链接