龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > JAVA开发 >

快速排序算法的JAVA实现

时间:2009-12-23 15:42来源:未知 作者:admin 点击:
分享到:
package Utils.Sort; /** *快速排序,要求待排序的数组必须实现Comparable接口 */ public class QuickSort implements SortStrategy { private static final int CUTOFF = 3; //当元素数大于此值时采用快速排序 /** *利用快

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


  

精彩图集

赞助商链接