C++快速排序(随机值元法)
来源:互联网 发布:腾讯代理绝地求生知乎 编辑:程序博客网 时间:2024/06/11 00:40
#include <iostream>#include <stdlib.h>using namespace std;int sum(int a,int b){return (rand()%(b-a)+a+1);}void Grial(int a[],int x,int y){if(x>=y)return ;int i=x;int j=y;int temp;int b=sum(i,j);//求取随机值.int key=a[b];while(i<j){while(a[i]<key)i++;//找到第一个比key大的数while(a[j]>key)j--;//找到第一个比key小的数if(i<=j){temp=a[i];a[i]=a[j];a[j]=temp;i++;j--;}}//当i<j时,把比key小的与比key大的交换,直到i>j时,确定了中值,小于等于j的数组划分为左边较小的组,大于等于i的划分为右边较大的组,//将数组分成了2部分,再分别递归比较.最后当x<y时跳出递归.Grial(a,x,j);Grial(a,i,y);}int main(){int a[]={2,3,1,94,53,3,0};Grial(a,0,6);for(int i=0;i<7;i++){cout<<a[i]<<" ";}cout<<endl;return 0;}
0 0
- C++快速排序(随机值元法)
- 非随机快速排序C语言实现
- C/C++实现快速排序和随机快速排序
- 随机快速排序
- 随机快速排序
- 随机优化快速排序
- 随机快速排序
- POJ_随机快速排序
- 随机快速排序
- 随机快速排序
- 随机快速排序
- 随机快速排序法
- c版快速排序 + 随机产生一组测试数据
- 快速排序和随机快速排序
- 普通快速排序与随机快速排序
- 快速排序的改进-随机快速排序
- 快速排序和随机快速排序
- 随机的快速排序算法
- Xamarin体验:使用C#开发iOS/Android应用
- Golang开发环境搭建-Vim篇
- mutex 测试程序
- Android EditText/TextView使用SpannableString显示复合文本
- FJUTOJ 校赛J 第十集 原来这一切都是真的 (树形概率dp)
- C++快速排序(随机值元法)
- Log4j的输出日志级别
- maven项目在eclipse中运行clean test 等报错
- 关于动态代理模式
- Linux 上tomcat的安装
- objc block的介绍和使用
- 再造 “手机QQ” 侧滑菜单(一)——实现侧滑效果
- 网络流
- ASIHTTPRequest杂记