首页 > 编程 > Java > 正文

快速排序算法的JAVA实现

2019-11-17 06:31:45
字体:
来源:转载
供稿:网友

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();



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