#include<iostream>
using namespace std;
int a[1000];
void quickselect(int l,int r,int k)
{
int i=l,j=r,mid=a[(l+r)/2];
do
{
while(a[i]<mid) i++;
while(a[j]>mid) j--;
if(i<=j)
{
swap(a[i],a[j]);
i++;
j--;
}
}while(i<=j);
if(l<=j&&k<=j-l+1) quickselect(l,j,k);
if(i<=r&&k>=i-l+1) quickselect(i,r,k+1-i);
}
int main()
{
int n,i,k;
cin>>n>>k;
for(i=1;i<=n;i++) cin>>a[i];
quickselect(1,n,k);
cout<<a[k]<<endl;
}
第k小数
最新推荐文章于 2022-04-28 10:58:16 发布