博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【数据排序】快速排序
阅读量:7103 次
发布时间:2019-06-28

本文共 976 字,大约阅读时间需要 3 分钟。

//快速排序 from aha #include
using namespace std;int a[101],n;void print(int a[],int n){ for(int i=1;i<=n;i++) { cout<
<<" "; } cout<
r) //呼应后面的判断,当只剩一个数字的时候会有l>r //一个数字的时候,这个数字是已经归位了的,所以可以直接退出了。 { return; } int temp; temp=a[left]; //基准数 //从小到大情况下的目的:把基准数复原且将小于基准数的数放在基准数左边 //大于基准数的数放在基准数的右边 while(l!=r) //循环的条件是两个哨兵没有相遇 //当两个哨兵相遇了就跳出循环,不再交换值。 { //注意这里的顺序,是先让右边的开始找,右边的找完才能左边的找 //注意基准数是取右边的那个数字 while(a[r]>=temp&&r>l) //r>l没有等号的原因:目的就是让两个哨兵相遇 //虽然循环条件是r>l,但是如果没有找到可以交换的数,那么就会有r=l; //下面的循环l
=有等于号 { l++; } if(l
right的情况 //呼应quicksort开头那个if(l
>n; for(int i=1;i<=n;i++) { cin>>a[i]; } quicksort(1,n); //left=1,right=n; print(a,n); return 0; }

 

转载于:https://www.cnblogs.com/xuwanwei/p/10878648.html

你可能感兴趣的文章
Web---Cookie技术(显示用户上次登录的时间、显示用户最近浏览的若干个图片(按比例缩放))...
查看>>
【6】JAVA---地址App小软件(QueryPanel.class)(表现层)
查看>>
玩转spring boot——ajax跨域
查看>>
使用Python做科学计算初探(转)
查看>>
线程状态及属性
查看>>
[20171124]手工使用种子库建库.txt
查看>>
4.2、Android Studio压缩你的代码和资源
查看>>
Knockout应用开发指南 第十章:更多信息(完结篇)
查看>>
apache禁止执行php文件
查看>>
模块打包工具 webpack
查看>>
C# 语言历史版本特性(C# 1.0到C# 7.1汇总更新)
查看>>
现代IM系统中消息推送和存储架构的实现
查看>>
Linux下时间范围判断的程序流程及其C代码实现
查看>>
关闭mongodb
查看>>
Onvif开发之客户端鉴权获取参数篇
查看>>
高性能后台服务器架构设计
查看>>
mysql通信协议
查看>>
一碗拉面,两多温情
查看>>
英伟达研发全球首款AI自动驾驶平台 无需方向盘和油门!
查看>>
MSSQL - 架构分析 - 从SQL Server 2017发布看SQL Server架构的演变
查看>>