21xrx.com
2024-12-23 00:48:09 Monday
登录
文章检索 我的文章 写文章
C++实现集合取交集
2023-06-24 03:51:14 深夜i     --     --
C++ 集合 取交集

集合是数学中的一个重要概念,它是一种无序不重复的数据组合。在C++中,可以用STL中的set来实现集合,利用其自动排序和去重的特点能够快速实现集合的操作,特别是取交集。

在C++中,设置两个set集合a和b表示要求交集的两个集合,然后使用set_intersection函数实现交集的获取。其中set_intersection函数需要4个参数,分别是第一个集合的开始迭代器、结束迭代器、第二个集合的开始迭代器以及存放结果的迭代器。

示例代码如下:


#include <iostream>

#include <set>

#include <algorithm>

using namespace std;

int main() {

  set<int> a = 3;

  set<int> b = 6;

  set<int> res;

  set_intersection(a.begin(), a.end(), b.begin(), b.end(), inserter(res, res.begin()));

  for(auto i: res)

    cout << i << " ";

  

  return 0;

}

运行结果为3 4,即两个集合的交集。

需要注意的是,set_intersection函数要求两个集合必须是有序的,因此在使用前需要先排序。此外,set_intersection函数也可以用于其他STL容器,如vector等。

总之,在C++中实现集合的取交集可以用set容器和set_intersection函数来完成,这一方法简单高效,值得掌握。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复