精短的快速排序代码

精短的快速排序代码

#include<iostream>
#include<cstdlib>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<ctime>
#include<algorithm>
#include< set>
#include<map>
#include<queue>
#include<stack>
using  namespace std ;

void QuickSort( int a[] ,  int l ,  int r){
      if(l >= r )  return ; 
      int x = a[(l+r)>>1] , i = l , j = r ; 
      do{
            while(a[i] < x) ++i ; 
            while(a[j] > x) --j ; 
            if(i <= j ) swap(a[i++],a[j--]); 
     } while(i<=j);
     QuickSort(a , i , r) ;
     QuickSort(a , l , j) ; 
}

int main(){
     int a[] = { 0 , -10 , 1 , 23 , 100 , 2340 , -9 , 124 } ; 
    QuickSort(a , 0 , 7) ;
     for( int i = 0 ; i < 8 ; ++ i ) 
       cout << a[i] << endl ;     
    system("pause");
     return 0 ;
}

你可能感兴趣的:(精短的快速排序代码)