题解 | #牛群的排序#快排
牛群的排序
https://www.nowcoder.com/practice/c35e45c4adda44a1a3c5115033e0c5f0
class Solution {
public:
/**
* 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
*
*
* @param nums int整型vector
* @return int整型vector
*/
void swap(int& a, int &b){
int tmp = a;
a = b;
b = tmp;
}
void quickSort(vector<int>& nums, int head, int rear){
if(head >= rear) return;
int pivot = nums.at(head);
int indexL = head; int indexR = rear;
while(indexL < indexR){
while(nums[indexR] >= pivot && indexR > indexL) indexR--;
while(nums[indexL] <= pivot && indexL < indexR) indexL++;
if(indexL < indexR) swap(nums.at(indexL), nums.at(indexR));
}
swap(nums.at(head), nums.at(indexL));
quickSort(nums, head, indexL - 1);
quickSort(nums, indexR + 1, rear);
}
vector<int> sortCows(vector<int>& nums) {
quickSort(nums, 0, nums.size() - 1);
return nums;
}
};

