我需要对std::vector中的元素进行排序,但我只对正在排序的顶级N项感兴趣,而不是对整个列表感兴趣:
例如,在包含10个元素的列表中,只需对前3个元素进行排序。不管剩下的..。
1,2,3,6,7,4,9,8,5
这能用std::sort来完成吗?
编辑
我只需要在向量中找到顶部的N项。std::partial_sort_copy正是我所需要的。
发布于 2010-12-08 19:43:28
如果您需要排序,那么partial_sort就会这样做,否则如果您只需要划分范围,nth_element就会更快地完成它。
https://stackoverflow.com/questions/4391372
复制相似问题