我有 N 组让我们说整数。现在我想要一个函数,它可以找到这些集合的交集。例如,对于以下内容
Set1 = { A, D, E, F, G, L }
Set2 = { N, K, E, G, B, C }
Set3 = { K, P, Q, E, F, G }
Set4 = { Z, Y, C, G, F, E }
因为 E 和 G 在每个集合中,我应该得到 { E, G }
作为输出。最简单的方法是什么。我知道编写自己的代码来执行此操作并不难,但也许已经有一个 STL 或任何其他我感兴趣的库函数。
最佳答案
我能想到的两种可能的解决方案
- 将你的集合存储在 vector 中。使用
std::sort
对 vector 进行排序,并使用std::set_intersection
计算集交集 - 将您的集合存储在
std::set
中,这会导致元素无论如何都被排序,并使用std::set_intersection
关于c++ - 如何找到集合的交集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15087197/