這份快排的代碼必須裱起來(lái),太標(biāo)準(zhǔn)了

題解鏈接:https://nb83.blog.luogu.org/solution-p1177
void Mysort(int l,int r)//自己寫的快排?
{
? ? int mid=a[(l+r)/2];//找中間的數(shù)進(jìn)行2分?
? ? int i=l,j=r;
? ? do{
? ? ? ? while(a[i]<mid)
i++;//找左半部分大于等于基數(shù)的?
? ? ? ? while(a[j]>mid)
j--;//找右半部分小于等于的?
? ? ? ? if(i<=j)
? ? ? ? {
? ? ? ? ? ? swap(a[i],a[j]);//換位?
? ? ? ? ? ? i++;//左指針右移?
? ? ? ? ? ? j--;//右指針左移?
? ? ? ? }
? ? }
while(i<=j);
? ? if(l<j) mysort(l,j);
? ? if(i<r) mysort(i,r);
}
標(biāo)簽: