分治---快速排序
来源:互联网 发布:淘宝短信营销作用大吗 编辑:程序博客网 时间:2024/06/03 03:55
数组排序任务可以如下完成:
1)设k=a[0], 将k挪到适当位置,使得比k小的元素都在k左边,比k大的元素都在k右边,和k相等的,不关心在k左右出现均可 (O(n)时间完成)
2) 把k左边的部分快速排序
3) 把k右边的部分快速排序
#include <iostream>using namespace std;void swap(int & a,int & b) //交换变量a,b值{int tmp = a;a = b;b = tmp;}void QuickSort(int a[],int s,int e){if( s >= e)return;int k = a[s];int i = s,j = e;while( i != j ){while( j > i && a[j] >= k )--j;swap(a[i],a[j]);while( i < j && a[i] <= k )++i;swap(a[i],a[j]);} //处理完后,a[i] = kQuickSort(a,s,i-1);QuickSort(a,i+1,e);}int a[] = { 93,27,30,2,8,12,2,8,30,89};int main(){int size = sizeof(a)/sizeof(int);QuickSort(a,0,size-1);for(int i = 0;i < size; ++i)cout << a[i] << ",";cout << endl;return 0;}
0 0
- 分治策略----快速排序
- 分治法--快速排序
- 分治法--快速排序
- 分治法-快速排序
- 分治法-快速排序
- 分治法-----快速排序
- 分治算法-快速排序
- 分治法 --快速排序
- 分治算法----快速排序
- 分治法-快速排序
- 快速排序-分治算法
- 分治---快速排序
- 分治算法---快速排序
- 分治法--快速排序
- 快速排序 分治法
- 快速排序(分治)
- 分治算法 快速排序
- 分治法-快速排序
- Java是传值还是传引用
- 关于配置tomcat后出现401 403问题的解决方法
- vue2.0使用(1):创建新项目
- 51nod 1821 最优集合
- 指数(道琼斯指数)
- 分治---快速排序
- python学习笔记(4):字符串及编码问题
- scaleType的详细解释
- 正则表达式元字符
- 棋盘覆盖问题
- CSS基础知识深入探讨
- 解决 react-native run-android 出现 gradle下载慢问题
- 【应用】使用STM32单片机定时器的Encoder模式驱动数字旋转编码开关
- c语言的大数相乘 十分经典的代码