2021-07-13

快速排序
快速排序是一种排序算法,它相比于其它排序算法综合来说它的平均时间复杂度是最小的,那么接下来就说说怎么实现它吧。
原理:
首先快速排序是基于分治法的思想,你要先找到一个基准点,这个基准点是要排序的元素中随机的一个,然后把比基准点小的放到基准点的左边,比基准点大的放到基准点的右边,实现代码如下:

int pivorate(int a[],int l,int h){
int pi=a[h];
 int i=l;
 for(int j=l;j<h;j++){
 if(a[j]>pi){
 int t=a[i];
 a[i]=a[j];
 a[j]=t;
 i++:
 }
 a[h]=a[i];
 a[i]=pi;
 return i;
 }
 void quickSort(int a[],int l,int h){
 int pi=pivorate(a,l,h);
 quickSort(a,l,pi-1);
 quickSort(a,pi+1,h);
 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值