快速排序-quickpow
Posted -citywall123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了快速排序-quickpow相关的知识,希望对你有一定的参考价值。
友链:https://blog.csdn.net/weixin_42060896/article/details/88168462?tdsourcetag=s_pcqq_aiomsg
[l,r]区间不断逼近,直到区间长度为一是停止
void quicksort(int a[],int x,int y) { int p=a[x];//p是[l,r]区间内中间大的数,x是p的下标 int l=x,r=y; if(l>r) return; while(l<r) { while(l<r&&a[r]>=p) r--; while(l<r&&a[l]<=p) l++; //以上两个while循环执行完毕之后,得到的a[l]是大于p,a[r]是小于p,所以要交换才符合 int temp; temp=a[l]; a[l]=a[r]; a[r]=temp; } //将区间[x,y]中间大的数p放到中间位置,并为下一次排序准备 a[x]=a[l]; a[l]=p; quicksort(a,x,l-1); quicksort(a,l+1,y); }
以上是关于快速排序-quickpow的主要内容,如果未能解决你的问题,请参考以下文章