C/C++教程

力扣-75题 颜色分类(C++)- 排序

本文主要是介绍力扣-75题 颜色分类(C++)- 排序,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

题目链接:https://leetcode-cn.com/problems/sort-colors/
题目如下:
在这里插入图片描述

class Solution {
public:
    void sortColors(vector<int>& nums) {
        quicksort(nums,0,nums.size()-1);
    }
    void quicksort(vector<int>& nums,int l,int r){
        if(l>=r) return;
        int i=l-1,j=r+1;
        int target=nums[(i+j)>>1];

        while(i<j){
            do i++; while(nums[i]<target);
            do j--; while(nums[j]>target);
            if(i<j) swap(nums[i],nums[j]);
        }

        quicksort(nums,l,j);
        quicksort(nums,j+1,r);
    }
};
这篇关于力扣-75题 颜色分类(C++)- 排序的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!