class Solution {
public:
    /**
     * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
     * 将给定数组排序
     * @param arr int整型vector 待排序的数组
     * @return int整型vector
     * 快排分治的思路
     */
    vector<int> MySort(vector<int>& arr) {
        // write code here
        if(arr.size()<=1){
            return arr;
        }
        int split_value = arr[0];

        vector<int> arr_left;
        vector<int> arr_right;
        for(int i=1;i<arr.size();i++){
            if(arr[i]<split_value){
                arr_left.push_back(arr[i]);
            }else{
                arr_right.push_back(arr[i]);
            }
        }
        arr_left = MySort(arr_left);
        arr_right = MySort(arr_right);

        arr_left.push_back(split_value);
        arr_left.insert(arr_left.end(),arr_right.begin(),arr_right.end());
        return arr_left;
    }
};