gpt4 book ai didi

c++ - 根据不同函数排序的 std::vectors 的交集

转载 作者:太空宇宙 更新时间:2023-11-04 14:11:23 24 4
gpt4 key购买 nike

我有 std::vectors of ints v1, v2, v3, ... v10。每个都有几十万个元素。每个 vector 按不同的因子排序(因此有 10 个因子函数 f1、f2、... f10)。因此,尽管它们是按自己排序的,但相对于彼此而言,它们是未排序的。

我想找到这 10 个 vector 的交集,并且我想根据其中一个因素对输出进行排序。例如结果应根据 f1 排序。因此,当我将这 10 个 vector 与因子函数一起传递给该相交排序函数时,我将得到一个输出 vector ,该 vector 仅包含所有 vector 中存在的元素,并根据 f1 排序。执行此操作的最佳方法是什么?

最佳答案

只需使用 std::set_intersection() 几次。我认为您需要交替使用两个临时 vector 来存储结果。如果你只想对每个 vector 进行一次传递,你只需使用它的通用版本,可能会保留当前最小值的优先级队列。

关于c++ - 根据不同函数排序的 std::vectors 的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14013570/

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