#include<algorithm>
#include<string>
#include <ctime>
using namespace std;
template<class Ran>
Ran Partition(Ran beg,Ran end){
srand((int)time(0));
Ran iter=rand()%(end-beg)+beg;
iter_swap(iter,end);
Ran small=beg-1;
while(beg<end){
if(*beg<*end){
small++;
if(beg!=small){
iter_swap(small,beg);
}
}
beg++;
}
small++;
iter_swap(small,end);
return small;
}
template<class Ran>
void quickSort(Ran beg,Ran end){
if(beg>=end)
return;
Ran iter=Partition(beg,end);
quickSort(beg,iter-1);
quickSort(iter+1,end);
}
快速排序的模板实现
最新推荐文章于 2023-06-30 13:58:42 发布