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

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

友链:

 

 找一个基准数p(默认区间内的第一个数为基准数,再不断更新基准数),以p为基准,把区间分为小于p和大于p的两个子区间,然后分别在两个子区间再找一个中间大的基准数,再次分成两个区间.....直到子区间长度为1时停止

 

void quicksort(int a[],int x,int y){    int p=a[x];    int l=x,r=y;    if(l>r)        return;    while(l
=p)//这两个while的顺序不能换,否则会错 r--; while(l
<=p) l++; //以上两个while循环执行的目的是把[min,中间大的数]放在左边子区间,把[中间大,max]放在右边子区间 int temp;//不符合分配条件的就交换 temp=a[l]; a[l]=a[r]; a[r]=temp; //交换之后的a[l]自然就是区间中间大的数 } //更新基准数p,为下一次排序准备 int temp; temp=p; p=a[l]; a[l]=temp; quicksort(a,x,l-1); quicksort(a,l+1,y); }

 

转载于:https://www.cnblogs.com/-citywall123/p/10516878.html

你可能感兴趣的文章
codeforces 1041A Heist
查看>>
Spring Cloud Stream消费失败后的处理策略(三):使用DLQ队列(RabbitMQ)
查看>>
bzoj1048 [HAOI2007]分割矩阵
查看>>
Java中的编码
查看>>
PKUWC2018 5/6
查看>>
As-If-Serial 理解
查看>>
洛谷P1005 矩阵取数游戏
查看>>
在Silverlight中使用HierarchicalDataTemplate为TreeView实现递归树状结构
查看>>
无线通信基础(一):无线网络演进
查看>>
如何在工作中快速成长?阿里资深架构师给工程师的10个简单技巧
查看>>
WebSocket 时时双向数据,前后端(聊天室)
查看>>
关于python中带下划线的变量和函数 的意义
查看>>
linux清空日志文件内容 (转)
查看>>
安卓第十三天笔记-服务(Service)
查看>>
Servlet接收JSP参数乱码问题解决办法
查看>>
Ajax : load()
查看>>
MySQL-EXPLAIN执行计划Extra解释
查看>>
Zookeeper概述
查看>>
Zookeeper一致性级别
查看>>
Linux远程登录
查看>>