C++ 快速排序实现
来源:互联网 发布:网络视频电话机 编辑:程序博客网 时间:2024/06/08 04:05
C++函数实现如下:
void quick_sort(vector<int> &data, int low, int high) { if (low >= high) { return; } int left = low, right = high; int key = data[low]; while (left < right) { while (left < right && key <= data[right]) { right--; } data[left] = data[right]; while (left < right && key >= data[left]) { left++; } data[right] = data[left]; } data[left] = key; quick_sort(data, low, left - 1); quick_sort(data, left + 1, high);}
完整代码如下(包含main函数,头文件,测试数组):
#include <iostream>#include <vector>using namespace std;void quick_sort(vector<int> &data, int low, int high) { if (low >= high) { return; } int left = low, right = high; int key = data[low]; while (left < right) { while (left < right && key <= data[right]) { right--; } data[left] = data[right]; while (left < right && key >= data[left]) { left++; } data[right] = data[left]; } data[left] = key; quick_sort(data, low, left - 1); quick_sort(data, left + 1, high);}void output_array(vector<int> &data) { for(auto i : data) { cout << i << " "; } cout << endl;}int main() { int _data[] = {2, 4, 6, 0, 9, 8}; vector<int> data(_data, _data + 6); quick_sort(data, 0, (int)data.size() - 1); output_array(data); return 0;}
0 0
- 快速排序c实现
- 快速排序C实现
- 快速排序C实现
- 快速排序C实现
- 快速排序(C实现
- 快速排序 C语言实现
- 快速排序C语言实现
- 快速排序算法(c#)实现
- c语言实现快速排序
- C/C++实现快速排序
- C语言实现快速排序
- 快速排序实现(C语言)
- 快速排序C语言实现
- Xcode(C++) 快速排序实现
- C语言实现快速排序
- 快速排序C语言实现
- 快速排序C语言实现
- C语言实现快速排序
- Python通用序列操作
- 设置QLineEdit无边框且透明
- 从扑克牌中随机抽取5张牌,判断是不是一个顺子。
- 5.6.6 初始化命令解析次数计数
- RadioGroup+Fragment
- C++ 快速排序实现
- try catch 捕获异常
- CTS Verifier test
- Android动画--Interpolator(插值器)
- 5.6.7 执行指令状态机
- TextView 使用Selector设置颜色
- 音频相关的一些名词解释
- 什么是GPU,GPU怎么工作的,什么是图形的渲染,渲染怎么完成的。
- 项目——作物环境检测采集站