首页 > 其他 > 详细

快排找第k大模板

时间:2014-08-25 14:57:44      阅读:224      评论:0      收藏:0      [点我收藏+]
 1 int get_kth(int l,int r)
 2 {
 3     if (l==r)
 4         return a[r];
 5     int i=l,j=r,mid=a[(l+r)>>1];
 6     while (i<j)
 7     {
 8         while (a[i]<mid)
 9             i++;
10         while (a[j]>mid)
11             j--;
12         if (i<j)
13         {
14             swap(a[i],a[j]);
15             i++;
16             j--;
17         }
18     }
19    if (k<=j) return get_kth(l,j);
20    if (k>=i) return get_kth(i,r);
21 }

 

快排找第k大模板

原文:http://www.cnblogs.com/vb4896/p/3934872.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!