快排

 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 }

 

posted @ 2017-05-01 10:47  poluner  阅读(92)  评论(0编辑  收藏  举报