题解 | #排序#
排序
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; } };