C++ sort

2014-11-24 08:50:41 · 作者: · 浏览: 0

sort函数对快排进行了优化,这里提供一个自己写的原始版本

#include 
  
   
#include 
   
     #include 
    
      #include 
     
       #include 
      
        using namespace std; template 
       
         void _qsort (InputIterator1 first, InputIterator1 last,UnaryPredicate pred) { if(first!=last){ auto mid=partition(first,last,bind2nd(pred,*first));//以第一号元素作为划分元素 _qsort(first,mid,pred); if(first!=mid)_qsort(mid,last,pred); else _qsort(mid+1,last,pred); } } int main(){ array
        
          t1 = {3,5,7,11,13,17,19,23}; array
         
           t2 = {19,23,3,5,7,11,13,17}; _qsort(t2.begin(),t2.end(),less
          
           ()); for_each(t2.begin(),t2.end(),[](int i){cout<