gpt4 book ai didi

C++:从容器中提取N个最高元素

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:14:17 26 4
gpt4 key购买 nike

我经常需要从未排序的 STL 容器中提取 N (> 1) 个最高元素。最简单的方法是使用 <queue> .

有没有更快、更少样板的方法?

最佳答案

获取n最小的元素,使用 nth_element :

std::vector<int> v = { 2, 6, 1, 13, 51, 5, 0, -1 };

std::nth_element(v.begin(), v.begin() + 3, v.end());

// now v[0], v[1], v[2] are the smallest, not otherwise sorted

确保#include <algorithm> .可以提供可选的谓词来自定义排序顺序(例如 std::greater<int> )。

关于C++:从容器中提取N个最高元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14286028/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com