#include <iostream>
#include <vector>
using namespace std;
void output(vector<int> a){
for(int i : a)
cout << i << ',';
cout << endl;
}
void qsort(vector<int>& a, int l, int r){
if(l >= r) return;
int k = a[l], i = l, j = r;
while(1){
while(i < j && k <= a[j]) j--;
while(i < j && k >= a[i]) i++;
if(i >= j) break;
swap(a[i], a[j]);
}
swap(a[l], a[j]);
qsort(a, l, j-1);
qsort(a, j+1, r);
}
int main(){
vector<int> a = {6,6,7,3,8,9};
cout << "before sort: ";
output(a);
qsort(a, 0, a.size()-1);
cout << "after sort: ";
output(a);
return 0;
}
[传统算法] 快速排序C++实现
最新推荐文章于 2023-07-10 21:27:13 发布