void quickSort(vector<int>& nums, int left, int right){
if(left >= right)
return;
int mid = partition(nums,left, right);
quickSort(nums, left, mid - 1);
quickSort(nums, mid + 1, right);
}
int partition(vector<int>& nums, int left, int right){
int key = nums[left];
while(left < right){
while(left < right && key <= nums[right]){
right--;
}
if(left < right){
nums[left++] = nums[right];
}
while(left < right && key >= nums[left]){
left++;
}
if(left < right){
nums[right--] = nums[left];
}
}
nums[left] = key;
return left;
}
07-25
07-25