快速排序 C++
来源:互联网 发布:怎么成为数据库管理员 编辑:程序博客网 时间:2024/06/05 02:30
#include<iostream>#include<algorithm>using namespace std;void quicksort(int a[], int begin, int end) {//升序 if (begin < end) { int i = begin, j = end, x = a[begin]; //x随机数,这里设为第一个数 while (i < j) { while (i<j&&a[j]>x) j--; //从右往左寻找小于或者等于x的第一个数 if (i < j) a[i++] = a[j]; //找到后填到i对应的位置,并i++即i右移 while (i < j&&a[i] <= x) i++; //从左往右寻找大于x的第一个数 if (i < j) a[j--] = a[i]; //找到后填到填到上一步j对应的位置,并j--即j左移 } x = a[i]; quicksort(a, begin, i - 1); //分治法,利用递归,处理i左边的区间和i右边的区间 quicksort(a, i+ 1, end); }}int main() { int arr[] = { 34,65,12,43,67,5,78,10,3,70 }; int len = sizeof(arr) / sizeof(int); for (int i = 0; i < len; i++) { cout << arr[i] << ' '; } cout << endl; quicksort(arr, 0, len - 1); for (int i = 0; i < len; i++) { cout << arr[i]<<' '; } cout << endl; system("pause"); return 0;}
阅读全文
0 0
- 排序-快速排序(c)
- 快速排序--C语言
- 快速排序(c#)
- 快速排序C
- C++快速排序算法
- 快速排序QuickSort.c
- 快速排序(C#)
- 快速排序算法 C
- 快速排序(C++)
- 快速排序C语言
- (C#)快速排序 Quicksort
- 快速排序 C代码
- 快速排序(C)
- C快速排序算法
- 快速排序 Java/C
- C快速排序
- 快速排序C语言版
- 快速排序--C语言
- CCF201703-2 学生排队
- 子线程怎么传递数据给主线程
- R语言 绘制热图 pheatmap
- NKOJ 3777 卡牌操作(线段树)
- textContent和innerText属性的区别
- 快速排序 C++
- wpf的小问题实记1---TextBox无法拖入事件
- python备忘六:list 列表之列表基本特性
- 安卓书籍--从入门到精通
- Jupyter Notebook的快捷键帮助文档
- 第二周项目一
- 群体运动度量--Measuring Crowd Collectiveness
- c++ ODBC使用
- 【备忘】Java菜鸟到大牛学习路线之高级篇