未知极简排序

水题忽然来的灵感:

class Solution
{
public:
    void sortColors(vector<int> &nums)
    {
        int l = nums.size();
        for (int i = 0; i + 1 < l; ++i)
        {
            if (nums[i] > nums[i + 1])
            {
                nums.emplace_back(nums[i]);
                nums.erase(nums.begin() + i);
                i = max(i - 2, -1);
            }
        }
    }
};

在本题数据中,速度比肩sort库函数,快于快排。

【Over】

posted @ 2022-03-14 22:39  Renhr  阅读(18)  评论(0)    收藏  举报