题解 | #排序#

排序

https://www.nowcoder.com/practice/2baf799ea0594abd974d37139de27896

#include <fstream>
class Solution {
  public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     *
     * 将给定数组排序
     * @param arr int整型vector 待排序的数组
     * @return int整型vector
     */
    vector<int> quickSort(vector<int>& arr, int l, int r) {
        if(l >= r) return arr;
        int mid = (l + r) / 2;
        int x = arr[mid], i = l - 1, j = r + 1;
        while (i < j) {
            do i ++; while(arr[i] < x);
            do j --; while(arr[j] > x);
            if(i < j) swap(arr[i], arr[j]);
        }
        quickSort(arr, l, j);
        quickSort(arr, j + 1, r);
        return arr;
    }
    vector<int> MySort(vector<int>& arr) {
        if(arr.size() == 1) return arr;
        quickSort(arr, 0, arr.size() - 1);
        return arr;
    }
};

全部评论

相关推荐

10-25 00:32
香梨想要offer:感觉考研以后好好学 后面能乱杀,目前这简历有点难
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务