#include <vector> #include <iostream> using namespace std; int partition(int l, int r, vector<int>& nums) { int pivot = nums[r]; int j = l - 1; for(int i = l; i < r; i++) { if(nums[i] < pivot) { j++; swap(nums[j], nums[i]); } } j++; swap(nums[j], nums[r]); return j; } void quick_sort(int l, int r, vector<int>& nums) { if(l >= r) return; int k = partition(l, r, nums); quick_sort(l, k - 1, nums); quick_sort(k + 1, r, nums); } int main() { vector<int> nums = {1, 4, 2, -1}; int n = nums.size(); quick_sort(0, n - 1, nums); for(auto n: nums) { cout << n << " "; } cout << endl; }