头文件
#include <algorithm>
函数声明
template <class RandomAccessIterator, class Compare>
void nth_element (RandomAccessIterator first, //首迭代器
RandomAccessIterator nth, //待寻找元素的迭代器
RandomAccessIterator last, //尾迭代器
Compare comp); //比较规则
用法
一种部分排序算法, 该函数按照一定的比较规则comp, 将区间重排
默认可用于寻找[first, end)区间中第nth小的元素(下标从0开始)。
样例
寻找第2大的数(下标从0开始)
#include <iostream>
#include <algorithm>
#include <vector>
using namespace std;
int main(){
vector<int> b{4, 7, 6, 9, 1, 8, 2, 3, 5};
nth_element(begin(b), begin(b)+2, end(b),
[](const int a, const int b){ return b < a; });
for(auto i: b){
cout << i << ends;
}
cout << endl;
return 0;
}
输出

本文介绍 C++ 中的 nth_element 函数,这是一种部分排序算法,用于寻找指定位置的元素。通过示例展示了如何使用该函数来找到一组数据中的第 n 大或第 n 小的元素。
1321

被折叠的 条评论
为什么被折叠?



