📅  最后修改于: 2023-12-03 15:38:31.294000             🧑  作者: Mango
在C++中,STL(标准模板库)是一个非常重要的库,它提供了许多数据结构和算法,使得程序员可以更加轻松地处理数据和实现算法。在STL中,vector是一个非常有用的容器,它可以动态地增加和减少元素,非常适合存储数据集合。在本文中,我们将介绍如何在两个vector之间使用STL找到共同的元素。
在两个vector之间找到共同的元素,可以使用STL中的算法std::set_intersection()
。该算法能够将两个有序的序列的共同元素存储到一个目标序列中。假设我们有两个vector A和B,我们可以使用以下代码找到它们的共同元素:
#include <iostream>
#include <vector>
#include <algorithm>
int main()
{
std::vector<int> A {1, 2, 3, 4, 5};
std::vector<int> B {3, 4, 5, 6, 7};
std::vector<int> result;
std::set_intersection(A.begin(), A.end(),
B.begin(), B.end(),
std::back_inserter(result));
for (auto i : result)
std::cout << i << " ";
return 0;
}
输出结果为:
3 4 5
上述代码中,我们首先定义了两个vector A和B,并用一些整数初始化它们。我们接着定义了一个名为result的vector,用于存储A和B的共同元素。在std::set_intersection()
算法中,我们分别传入了A和B的起始和结束迭代器,以及目标序列result的起始迭代器。算法会遍历A和B,将所有共同的元素存储到result中。最后,我们使用一个for循环遍历result中的所有元素,并输出它们。在输出中,我们可以看到A和B的共同元素为3、4和5。
在使用std::set_intersection()
算法时,需要注意以下几点:
使用STL可以方便地处理数据和实现算法。在本文中,我们介绍了如何在两个vector之间使用STL找到共同的元素。这个过程非常简单,只需要调用std::set_intersection()
算法即可。如果您希望深入了解STL和其他算法,请参考STL官方文档。