快速排序
以中点为基准的快排
void qsort ( int a [ ] , int l , int r )
{
int i = l , j = r , flag = a [ ( l + r ) / 2 ] ;
do {
while ( a [ i ] < flag ) i++ ;
while ( a [ j ] > flag ) j-- ;
if ( i <= j ) swap ( a [ i++ ] , a [ j-- ] ) ;
} while ( i <= j ) ;
if ( l < j ) qsort ( a , l , j ) ;
if ( i < r ) qsort ( a , i , r ) ;
}

浙公网安备 33010602011771号