题解 | #牛群的排序#

牛群的排序

https://www.nowcoder.com/practice/c35e45c4adda44a1a3c5115033e0c5f0

#include <vector>
class Solution {
private:
    void quick_sort(vector<int>& a, int l, int r){
        if(l>=r) return;
        int i=l-1,j=r+1,x=a[(i+j)>>1];
        while(i<j){
            do i++; while (a[i]<x);
            do j--; while (a[j]>x);
            if(i<j) swap(a[i],a[j]);
        }
        quick_sort(a,  l, j);
        quick_sort(a,  j+1, r);
    }

public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 
     * @param nums int整型vector 
     * @return int整型vector
     */
    vector<int> sortCows(vector<int>& nums) {
        quick_sort(nums, 0, nums.size()-1);
        return nums;
    }
};

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务