C++ 快排-随机中轴
Posted fulianzhou
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++ 快排-随机中轴相关的知识,希望对你有一定的参考价值。
void QuickSort(vector<int> &nums, int left, int right)
if (left >= right)
return;
int l = left;
int r = right;
int pos = rand() % (r - l) + l;
int pivot = nums[pos];
nums[pos] = nums[l];
nums[l] = pivot;
while (l < r)
while (nums[r] >= pivot && l < r) r--;
nums[l] = nums[r];
while (nums[l] <= pivot && l < r) l++;
nums[r] = nums[l];
nums[l] = pivot;
QuickSort(nums, left, l - 1);
QuickSort(nums, r + 1, right);
以上是关于C++ 快排-随机中轴的主要内容,如果未能解决你的问题,请参考以下文章