反正都是抄书。
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
//一趟快速排序的算法
int QuickOnePass(vector<int>& DataArray, int leftPos, int rightPos)
{
int left = leftPos;
int right = rightPos;
int tmp = DataArray[left]; //腾空 left 位置
do
{
while(DataArray[right] >= tmp && right > left)
{
right--;
}
if (right > left)
{
DataArray[left] = DataArray[right];
left++;
}
while(DataArray[left] <= tmp && right > left)
{
left++;
}
if (right > left)
{