快速排序_quick_sort
来源:互联网 发布:周琦数据历史数据 编辑:程序博客网 时间:2024/06/06 08:42
#include <iostream>#include <vector>#include <conio.h>using namespace std;/*交换两个数*/void exchange(int &x, int &y){int temp = x;x = y;y = temp;}/*将数组data中的[left, right]中的数据以data[right]为界划分为左右两部分*/int partion(vector<int> &data, int left, int right){//current用来标识第一个大于data[right]的数据位置int current = left;//循环data中的数据,若小于data[right],则交换到左边for (int i = left; i < right; i++){if (data[i] < data[right]){exchange(data[i], data[current]);current++;}}//最后,将data[current]交换到分界点exchange(data[right], data[current]);return current;}/*快速排序算法*/void quick_sort(vector<int> &data, int left, int right){if (left < right){int middle = partion(data, left, right);quick_sort(data, left, middle - 1);quick_sort(data, middle + 1, right);}}int main(){vector<int> data;int temp = 0;while(cin >> temp){data.push_back(temp);}/*int current = partion(data, 0, data.size() - 1);cout << current << endl;*/quick_sort(data, 0, data.size() - 1);for (vector<int>::iterator iter = data.begin(); iter != data.end(); iter++){cout << *iter;cout << " ";}getch();return 0;}
0 0
- 排序_Quick_Sort(快速排序)
- 快速排序_quick_sort
- Algorithm 3_Quick_Sort
- 分治_递归_quick_sort
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 写写以前,写写2014
- 寻找01矩阵中最大的子矩阵 Maximal Rectangle
- 【PAT1014】 Waiting in Line (30) queue模拟排队
- GTK+中笔记本控件(NoteBook)使用说明
- WhatsApp创始人:从领救济到身价68亿
- 快速排序_quick_sort
- 2014,智能电视与功能电视的岔路口
- 质数判断
- iOS 的 ASIHTTPRequest 类库简介和使用说明
- C# 通过线程更新UI
- 小众漫画下载器
- Linux Kernel启动中参数的处理
- udp的connect操作
- C++Primer (第四版) 第四章 数组和指针