C++代码
#include<iostream>
using namespace std;
#include<vector>
void QuickSort(vector<int>& arr, int left, int right) {
if (left > right)return;
int i = left, j = right;
while (i < j) {
while (i < j && arr[j] >= arr[left])j--; //从后向前找一个比标准值小的
while (i < j && arr[i] <= arr[left])i++; //从前向后找一个比标准值大的
swap(arr[i],arr[j]); //交换这两个数
}
//将标准值放的正确的位置
swap(arr[i],arr[left]);
QuickSort(arr,left,i-1);
QuickSort(arr,i+1,right);
}
int main() {
vector<int> arr{1,6,4,2,8,7,9,5,3};
QuickSort(arr,0,arr.size()-1);
for (int x : arr) {
cout << x << " ";
}
return 0;
}