题解 | #排序#

排序

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;
    }
};

全部评论

相关推荐

不愿透露姓名的神秘牛友
06-04 15:20
牛客61197583...:看到室友一个个没怎么学通过关系直接入职或者接到面试,真的很难受。八股不知道背了多少遍,hot100也刷了1.5遍了,但就是没有面试的机会,唉
点赞 评论 收藏
分享
06-17 21:57
门头沟学院 Java
白友:噗嗤,我发现有些人事就爱发这些,明明已读不回就行了,就是要恶心人
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务