快速排序算法的JAVA实现
2008-01-05 19:30:42 来源:WEB开发网package Utils.Sort;
/**
*快速排序,要求待排序的数组必须实现Comparable接口
*/
public class QuickSort implements SortStrategy
{ PRivate static final int CUTOFF = 3; //当元素数大于此值时采用快速排序
/**
*利用快速排序算法对数组obj进行排序,要求待排序的数组必须实现了Comparable接口
*/
public void sort(Comparable[] obj)
{ if (obj == null)
{ throw new NullPointerException("The argument can not be null!");
} quickSort(obj, 0, obj.length - 1);
} /**
*对数组obj快速排序
*@param obj 待排序的数组
*@param left 数组的下界
*@param right 数组的上界
*/
private void quickSort(Comparable[] obj, int left, int right)
{ if (left + CUTOFF > right)
{ SortStrategy ss = new ChooseSort();
更多精彩
赞助商链接