首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用std::排序查找std::向量中的顶级N项

使用std::排序查找std::向量中的顶级N项
EN

Stack Overflow用户
提问于 2010-12-08 19:20:20
回答 4查看 4K关注 0票数 8

我需要对std::vector中的元素进行排序,但我只对正在排序的顶级N项感兴趣,而不是对整个列表感兴趣:

例如,在包含10个元素的列表中,只需对前3个元素进行排序。不管剩下的..。

1,2,3,6,7,4,9,8,5

这能用std::sort来完成吗?

编辑

我只需要在向量中找到顶部的N项。std::partial_sort_copy正是我所需要的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-12-08 19:22:44

尝试std::partial_sort而不是std::sort。:)

票数 15
EN

Stack Overflow用户

发布于 2010-12-08 19:23:47

这就是std::partial_sort的目的。

票数 8
EN

Stack Overflow用户

发布于 2010-12-08 19:43:28

如果您需要排序,那么partial_sort就会这样做,否则如果您只需要划分范围,nth_element就会更快地完成它。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4391372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档