!-- Loading 底层遮罩 -->

快速排序

以中点为基准的快排

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 ) ;
}
 

 

posted @ 2022-03-30 18:44  Thinker-X  阅读(23)  评论(0)    收藏  举报