int partition(vector<int> &a,int l, int r){
swap(a[l],a[l+rand()%(r-l+1)]);
int j=l,pivot=a[l];
for(int i=l+1;i<=r;i++){
if(a[i]<pivot){
swap(a[i],a[++j]);
}
}
swap(a[l],a[j]);
return j
quickSelect C++
最新推荐文章于 2022-01-01 11:31:21 发布