Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/129.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ c++;使用std相交集并将其保存在另一个集中_C++_Stl - Fatal编程技术网

C++ c++;使用std相交集并将其保存在另一个集中

C++ c++;使用std相交集并将其保存在另一个集中,c++,stl,C++,Stl,我有两组int:A={1,3,5,7}和B={2,4,5,7}。如何将它们相交并将结果保存在集合A中?所以我希望A在运算后等于{5,7}。使用算法: std::vector<int> A{1,3,5,7}; std::vector<int> B{2,4,5,7}; // Sort std::sort(A.begin(), A.end()); std::sort(B.begin(), B.end()); std::vector<int> result; s

我有两组int:
A={1,3,5,7}
B={2,4,5,7}
。如何将它们相交并将结果保存在集合A中?所以我希望A在运算后等于
{5,7}

使用算法:

std::vector<int> A{1,3,5,7};
std::vector<int> B{2,4,5,7};

// Sort
std::sort(A.begin(), A.end());
std::sort(B.begin(), B.end());

std::vector<int> result;

std::set_intersection(A.begin(), A.end(),
                      B.begin(), B.end(),
                      std::back_inserter( result ));
std::向量A{1,3,5,7};
std::向量B{2,4,5,7};
//分类
排序(A.begin(),A.end());
排序(B.begin(),B.end());
std::向量结果;
标准::设置交叉点(A.开始(),A.结束(),
B.开始(),B.结束(),
标准:背向插入器(结果);
使用非常简单

#包括
#包括

#include

尝试过什么吗?我找到了stackoverflow的示例,但它们并不是我需要的do@EdgarRokyanOP一般要求一组元素,而不是
std::set
#include <iostream>
#include <vector>
#include <algorithm>
#include <iterator>
int main()
{
    std::vector<int> v1{1,2,3,4,5,6,7,8};
    std::vector<int> v2{        5,  7,  9,10};

    // Precondition: make sure they're sorted
    std::sort(v1.begin(), v1.end());
    std::sort(v2.begin(), v2.end());

    std::vector<int> v_intersection;

    std::set_intersection(v1.begin(), v1.end(),
                          v2.begin(), v2.end(),
                          std::back_inserter(v_intersection));

    for(int n : v_intersection)
        std::cout << n << ' '; // 5 7
}