¿ìËÙÅÅÐòËã·¨µÄ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)ÔÚÖ´ÐÐÒ»¸ö³ÌÐòʱ£¬»áÔÚϵͳÖн¨Á¢Ò»¸ö½ø³Ì£¬¶øÔÚÕâ¸ö½ø³ÌÖУ¬±ØÐëÖÁÉÙ½¨Á¢Ò»¸öỊ̈߳¨Õâ¸öÏ̱߳»³ÆÎªÖ÷Ị̈߳©À´×÷ΪÕâ¸ö³ÌÐòÔËÐеÄÈë¿Úµã¡£Òò´Ë£¬ÔÚ²Ù×÷ϵͳÖÐÔËÐеÄÈκγÌÐò¶¼ÖÁÉÙÓÐÒ»¸öÖ÷Ï̡߳£
½ø³ÌºÍÏß³ÌÊÇÏÖ´ú²Ù× ......
¶¨Ò嶯̬´úÀíÀàDynamicProxy
package com.zte.adc.common;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class DynamicProxy implements InvocationHandler {
private Object object;
// °ó¶¨¹ØÏµ£¬Ò²¾ÍÊǹØÁªµ½Äĸö½Ó¿Ú£¨Óë ......
package Utils.Sort;
/**
*²åÈëÅÅÐò£¬ÒªÇó´ýÅÅÐòµÄÊý×鱨ÐëʵÏÖComparable½Ó¿Ú
*/
public class InsertSort implements SortStrategy
{
/**
*ÀûÓòåÈëÅÅÐòËã·¨¶Ôobj½øÐÐÅÅÐò
*/
......
package Utils.Sort;
/**
*¹é²¢ÅÅÐò£¬ÒªÇó´ýÅÅÐòµÄÊý×鱨ÐëʵÏÖComparable½Ó¿Ú
*/
public class MergeSort implements SortStrategy
{
private Comparable[] bridge;
/**
*ÀûÓù鲢ÅÅÐòË ......