题解 | #牛群的排序#快排
牛群的排序
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; } };