快速排序
来源:互联网 发布:打开windows资源管理器 编辑:程序博客网 时间:2024/06/07 00:27
#include <iostream>using namespace std;typedef int T;void sort(T a[], int n){if (n<=1) return;swap(*a, a[n/2]); //a[n>>1]T* L = a+1;T* R = a+n-1;T V = *a; //分界值while(L<R){while(*L<V && L<R) L++;while(*R>=V && R>a) R--;if (L<R) swap(*L, *R);}if (V>*R) swap(*a, *R); sort(a, R-a);sort(R+1,n-(R-a)-1);} int main(){T a[5] = {1, 4, 6, 2, 9};sort(a, 5);for (int i=0; i<5; i++)cout << a[i] << ' ';return 0;}
阅读全文
0 0
- 快速排序
- 快速排序
- 快速排序
- 快速排序!
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- 快速排序
- ADC与DMA回顾
- Python入门篇(一)
- 使用ES2017的异步函数
- java web api接口调用
- 子类与父类构造器的思考
- 快速排序
- 初识nodejs19
- PHP(Thinkphp框架)将数据表导出csv文件
- `CREATION_DATE` datetime DEFAULT CURRENT_TIMESTAMP报错问题
- ExecutorService的使用
- RecyclerView的GridView和ListView的混排处理
- Pi-3DCAPP正式发布
- cocos creator构建andorid时切换api level编译报错问题解决
- 编写安全代码——小心有符号数的右移操作