快速排序C++代码实现
时间: 2023-11-17 12:59:36 浏览: 48
下面是快速排序的C++代码实现,代码中使用了vector容器来存储待排序的序列,实现了快速排序算法:
```
#include <iostream>
#include <vector>
using namespace std;
void quick_sort(vector<int>& v, int low, int high) {
if (low >= high) {
return;
}
int first = low, last = high, key = v[first];
while (first < last) {
while (first < last && v[last] >= key) {
--last;
}
v[first] = v[last];
while (first < last && v[first] <= key) {
++first;
}
v[last] = v[first];
}
v[first] = key;
quick_sort(v, low, first - 1);
quick_sort(v, first + 1, high);
}
void printVector(vector<int>& v) {
for (auto it = v.begin(); it != v.end(); it++) {
cout << *it << " ";
}
}
int main() {
vector<int> v = {49, 38, 65, 97, 76, 13, 27, 49};
quick_sort(v, 0, v.size() - 1);
printVector(v);
return 0;
}
```
其中,函数quick_sort实现了快速排序算法,函数printVector用于输出排序后的序列。在main函数中,我们定义了一个vector容器v,并初始化了待排序的序列,然后调用quick_sort函数对序列进行排序,最后调用printVector函数输出排序后的结果。