快排
1 int part(int l,int r){//key=a[l] 2 while(l<r){ 3 while(l<r&&a[l]<=a[r])r--;swap(a[l],a[r]); 4 while(l<r&&a[l]<=a[r])l++;swap(a[l],a[r]); 5 } 6 return l; 7 } 8 9 void qs(int l,int r){ 10 if(l>=r)return; 11 int m=part(l,r); 12 qs(l,m); 13 qs(m+1,r); 14 }