c++实现快速排序

#include
#include
using namespace std;

void quickSort(vector<int>& nums, int left, int right)
{
    if(left>=right) return;

    int pivot_num = nums[left];

    int i=left, j=right;
    while(i<j)
    {
        while(i<j && nums[j]>pivot_num) --j;
        while(i<j && nums[i]<=pivot_num) ++i;

        swap(nums[i], nums[j]);
    }

    // 
    swap(nums[left], nums[i]);
    // for(auto num : nums) cout<
    // cout<

    quickSort(nums, left, i-1);
    quickSort(nums, i+1, right);
}


int main()
{
    vector<int> nums{1,2,50,3,7,6,11,2,9,10,0};

    quickSort(nums, 0, nums.size()-1);

    for(auto num : nums) cout<<num<<" ";
    cout<<endl;

    return 0;
}

你可能感兴趣的:(c++,算法,数据结构)