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