返回列表 发帖

【分享】C++实现快速排序算法

int partition(int* a,int l,int r)



{



int i=l-1,j=r,v=a[r];



while(1)



{



while(a[++i]<v||a[--j]>v) if(j<=i) break;



if(i>=j)



break;



swap(a[i],a[j]);



}



swap(a[i],a[r]);



return i;



}



void qsort(int* a,int l,int r)



{



if(l>=r) return;



int i = partition(a,l,r);



qsort(a,l,i-1);



qsort(a,i+1,r);



}
复制代码

返回列表