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