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