快速排序

[转载]快速排序
快速排序 
 
class Test {
 
 public static void quickSort( int
[]  intArr ,  int startIndex ,  int endIndex ) {
  int left 
=  startIndex ;
  int right  =  endIndex ;
  int pivot  =  (left+right)/ 2 ;
  int tmp  =   0 ;
  
  do {
   while( intArr
[ left ] <intArr [ pivot ]  )  left++ ;
   while( intArr [ right ]  > intArr [ pivot ]  ) right-- ;
   
   if( left<
= right ) {
    tmp 
=  intArr [ left ] ;
    intArr [ left ]   =  intArr [ right ] ;
    intArr [ right ]   =  tmp ;
    left++ ;
    right-- ;
   }
  }while(left<
= right) ;
  
  if( left<endIndex ) quickSort( intArr
,  left ,  endIndex ) ;
  if( right>startIndex ) quickSort( intArr ,  startIndex ,  right) ;
 }
      
 public static void main( String
[]  argus ) {
  int
[]  test  =  new int [] { 5 , 4 , 3 , 2 , 1 } ;
  quickSort( test ,   0   ,  test.length- 1  ) ;
  for ( int i = 0 ;  i<test.length; i++ )  System.out.print( "test["+i+"]="+test[i]+"    " );
 }

http://spaces.msn.com/members/zhangqingqi/

你可能感兴趣的:(快速排序)