#include<iostream>
#include<vector>
using namespace std;
int partition(vector<int>& nums, int p, int r){
int i = p-1;
int x = nums[r];
int tmp;
for(int j = p; j <=r; j ++){
if(nums[j]<x)
{
i++;
swap(nums[i],nums[j]);
}
}
i++;
swap(nums[i],nums[r]);
return i;
}
void quick_sort(vector<int>& nums, int p, int r){
if(p<r){
int q = partition(nums,p,r);
quick_sort(nums,p,q-1);
quick_sort(nums,q+1,r);
}
}
int main(){
vector<int> v;
v.push_back(4);
v.push_back(3);
v.push_back(2);
v.push_back(1);
v.push_back(0);
quick_sort(v,0,v.size()-1);
for(int i = 0; i < v.size(); i ++)
cout<<v[i]<<" ";
}
#include<vector>
using namespace std;
int partition(vector<int>& nums, int p, int r){
int i = p-1;
int x = nums[r];
int tmp;
for(int j = p; j <=r; j ++){
if(nums[j]<x)
{
i++;
swap(nums[i],nums[j]);
}
}
i++;
swap(nums[i],nums[r]);
return i;
}
void quick_sort(vector<int>& nums, int p, int r){
if(p<r){
int q = partition(nums,p,r);
quick_sort(nums,p,q-1);
quick_sort(nums,q+1,r);
}
}
int main(){
vector<int> v;
v.push_back(4);
v.push_back(3);
v.push_back(2);
v.push_back(1);
v.push_back(0);
quick_sort(v,0,v.size()-1);
for(int i = 0; i < v.size(); i ++)
cout<<v[i]<<" ";
}