stl有一个函数,名叫nth_element,也就是查询第k小的数是谁
用法:
nth_element(a+1,a+k,a+n+1);
不过要注意,这个函数只负责找第k小,不负责顺便把其他的数一并排序了
#include<bits/stdc++.h>
using namespace std;
int n,k;
int a[100010];
int main(){
cin>>n>>k;
for(int i=1;i<=n;++i)
cin>>a[i];
nth_element(a+1,a+k,a+n+1);
for(int i=1;i<=n;++i)
cout<<a[i]<<' ';
printf("%d",a[k]);
}
nth_element 是查询第 k 小 的数字,不是第k大
多谢提醒^_^已改正