#include <vector>
#include <iostream>
#include <algorithm>
using namespace std;
void quick_sort(vector<int>& nums, int l, int r) {
if(l >= r) {
return;
}
int i = l, j = r;
while(i < j) {
while(i < j && nums[j] >= nums[l]) --j;
while(i < j && nums[i] <= nums[l]) ++i;
swap(nums[i], nums[j]);
}
swap(nums[i], nums[l]);
quick_sort(nums, l, i-1);
quick_sort(nums, i+1, r);
}
int main() {
vector<int> nums{3,2,4,6,5,1,7};
quick_sort(nums, 0, nums.size() - 1);
for(int & nu : nums) {
cout << nu << " ";
}
cout << endl;
return 0;
}