¿ìËÙÅÅÐòËã·¨µÄ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)
{
&
Ïà¹ØÎĵµ£º
Ò»¡¢Ï̸߳ÅÊö
Ïß³ÌÊdzÌÐòÔËÐеĻù±¾Ö´Ðе¥Ôª¡£µ±²Ù×÷ϵͳ(²»°üÀ¨µ¥Ï̵߳IJÙ×÷ϵͳ£¬Èç΢ÈíÔçÆÚµÄDOS)ÔÚÖ´ÐÐÒ»¸ö³ÌÐòʱ£¬»áÔÚϵͳÖн¨Á¢Ò»¸ö½ø³Ì£¬¶øÔÚÕâ¸ö½ø³ÌÖУ¬±ØÐëÖÁÉÙ½¨Á¢Ò»¸öỊ̈߳¨Õâ¸öÏ̱߳»³ÆΪÖ÷Ị̈߳©À´×÷ΪÕâ¸ö³ÌÐòÔËÐеÄÈë¿Úµã¡£Òò´Ë£¬ÔÚ²Ù×÷ϵͳÖÐÔËÐеÄÈκγÌÐò¶¼ÖÁÉÙÓÐÒ»¸öÖ÷Ï̡߳£
½ø³ÌºÍÏß³ÌÊÇÏÖ´ú²Ù× ......
˵À´Í´¿à£¬¹ØÓÚjava°ü½á¹¹£¬´ò°ü£¬±àÒ룬ÔËÐеÄ֪ʶ£¬ÎÒÊÇѧÁËÍü£¬ÍüÁËѧ¡£ËäÈ»¾ø´ó²¿·Ö¿ª·¢»ùÓÚ¶ÔIDEµÄʹÓ㬲¢ÇÒºÜˬ£¬µ«Ã¿´Î»Ø¹éÃüÁîÐÐģʽʱ£¬ÓÉÓÚȱ·¦¶Ôjava°ü½á¹¹¡¢´ò°ü¡¢±àÒë¡¢ÔËÐÐÏà¹ØµÄ֪ʶ×ܽἰÊìÁ·ÔËÓ㬿Éν´ç²½ÄÑÐÐ
ÍøÉÏËäȻɢ²¼ºÜ¶à¹ØÓÚÕâ·½ÃæµÄÂÛÊö£¬µ«×ܸоõ²»·ûºÏÎÒµÄÇÐÉíʵ¼Ê
¿´À´£¬×Ô¼º¶¯ÊÖ¹éÄÉ×ܽᣠ......
LinkedListÄÚ²¿ÒÔÁ´±íÐÎʽ´æ´¢Êý¾Ý
ArrayListÄÚ²¿ÒÔÊý×éÐÎʽ´æ´¢Êý¾Ý¡£
VectorͬArrayList£¬²»¹ýËüÓëArrayList±È½ÏÆðÀ´ÊÇthread-safeµÄ¡£
HashtableÊǼ̳ÐÁËDictionary£¬ÊÇḬ̈߳²È«µÄ¡£HashMapʵÏÖÁËMap½Ó¿Ú£¬²»ÊÇḬ̈߳²È«µÄ¡£
ÈçºÎ±£Ö¤Ḭ̈߳²È«µÄ£¿Ã¿¸öÐÞ¸ÄÈÝÆ ......
package Utils.Sort;
/**
*²åÈëÅÅÐò£¬ÒªÇó´ýÅÅÐòµÄÊý×é±ØÐëʵÏÖComparable½Ó¿Ú
*/
public class InsertSort implements SortStrategy
{
/**
*ÀûÓòåÈëÅÅÐòËã·¨¶Ôobj½øÐÐÅÅÐò
*/
......
package Utils.Sort;
/**
*¹é²¢ÅÅÐò£¬ÒªÇó´ýÅÅÐòµÄÊý×é±ØÐëʵÏÖComparable½Ó¿Ú
*/
public class MergeSort implements SortStrategy
{
private Comparable[] bridge;
/**
*ÀûÓù鲢ÅÅÐòË ......