默认从小到大第k小数
nth_element(arr,arr+(k-1),arr+len);
从大到小第k大数
nth_element(arr,arr+(k-1),arr+len,greater());
#include<bits/stdc++.h>
using namespace std;
int main()
{
int arr[10]={2,8,4,3,7,9,10,1,5,6};
nth_element(arr,arr+5,arr+10);//第6小数
cout<<"第六小数为:"<<arr[5]<<endl;
nth_element(arr,arr+2,arr+10,greater<int>());//第三大数
cout<<"第三大数为:"<<arr[2]<<endl;
return 0;
}
结果: