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