¿ìËÙÅÅÐòËã·¨µÄJAVAʵÏÖ
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)
{
&
Ïà¹ØÎĵµ£º
ÔÚËãÊõÔËËã·û²¿·Ö£¬ÐèÒªÌØ±ð×¢ÒâµÄÒ»¸öÓï·¨ÏÖÏóÊÇ“½úÉý”¡£½úÉýÖ¸µÍÓÚintµÄ3ÖÖÊý×ÖÀàÐÍ(byte¡¢shortºÍchar)½øÐÐËãÊõÔËËãºó£¬½á¹û»á×Ô¶¯ÌáÉý³ÉintÀàÐÍ¡£Ê¾Àý´úÂëÈçÏ£º
byte b1 = 10;
& ......
package Utils.Sort;
/**
*ÀûÓÃÑ¡ÔñÅÅÐò·¨¶ÔÊý×éÅÅÐò£¬Êý×éÖÐÔªËØ±ØÐëʵÏÖÁËComparable½Ó¿Ú¡£
*/
public class ChooseSort implements SortStrategy
{
/**
*¶ÔÊý×éobjÖеÄÔªËØÒÔÑ¡ÔñÅÅÐòËã·¨½øÐÐÅÅÐò
&n ......
ÔÚJava±àд¾ßÓÐÁ¬¹á±ä»¯µÄ´°¿Ú³ÌÐòʱ£¬Í¨³£µÄ°ì·¨ÊÇÔÚ×ÓÀàÖи²¸Ç¸¸ÀàµÄpaint(Graphics)·½·¨£¬ÔÚ·½·¨ÖÐʹÓÃGUIº¯ÊýʵÏÖ´°¿ÚÖØ»æµÄ¹ý³Ì¡£Á¬¹á±ä»»µÄ´°¿Ú»á²»¶ÏµØµ÷ÓÃupdate(Graphics)º¯Êý£¬¸Ãº¯Êý×Ô¶¯µÄµ÷ÓÃpaint(Graphics)º¯Êý¡£ÕâÑù¾Í»á³öÏÖÉÁ˸µÄÇé¿ö¡£
ΪÁ˽â¾öÕâÒ»ÎÊÌ⣬¿ÉÒÔÓ¦ÓÃË«»º³å¼¼Êõ¡£¿ÉÒÔͨ¹ý½ØÈ¡ÉÏÊö¹ý³Ì£¬¸ ......
package Utils.Sort;
/**
*¹é²¢ÅÅÐò£¬ÒªÇó´ýÅÅÐòµÄÊý×鱨ÐëʵÏÖComparable½Ó¿Ú
*/
public class MergeSort implements SortStrategy
{
private Comparable[] bridge;
/**
*ÀûÓù鲢ÅÅÐòË ......
package Utils.Sort;
/**
*ÀûÓÃðÅÝÅÅÐò·¨¶ÔÊý×éÅÅÐò£¬Êý×éÖÐÔªËØ±ØÐëʵÏÖÁËComparable½Ó¿Ú¡£
*/
public class BubbleSort implements SortStrategy
{
/**
*¶ÔÊý×éobjÖеÄÔªËØÒÔðÅÝÅÅÐòËã·¨½øÐÐÅÅÐò
......