首页 > 学院 > 开发设计 > 正文

JAVA基础应用: 如何实现希尔排序算法

2019-11-18 15:34:30
字体:
来源:转载
供稿:网友

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),则与前面的交换

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表