如何将 std::set 的元素添加到另一个非空集

How to add elements of a std::set to another non-empty set?

本文关键字:添加 另一个 空集 元素 std set      更新时间:2023-10-16
  set<int> A, B;
  for (int i = 0; i < 100; i++) A.insert(i);
  for (int i = 50; i < 150; i++) B.insert(i);

如何将集合B的元素添加到集合A
换句话说,如何实现A = Union( AB )?

默认情况下,

集合只是唯一值并已排序,因此插入迭代器范围应该可以:

A.insert(B.begin(), B.end());
A.insert(B.begin(), B.end());      // done

使用

template <class InputIterator>
void std::set::insert( InputIterator first, InputIterator last );
您可以使用

另一个重载insert,它将一对迭代器作为:

A.insert(B.begin(), B.end());

上面的代码将元素(A不存在)从B复制到A(这意味着您不需要手动处理重复项)。

在这里查看所有insert重载:

  • 标准::设置::插入的所有重载