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
=联盟(A
,B
)?
答案 0 :(得分:8)
默认设置只是唯一值并且已排序,因此插入迭代器范围应该有效:
A.insert(B.begin(), B.end());
答案 1 :(得分:4)
A.insert(B.begin(), B.end()); // done
答案 2 :(得分:4)
您可以使用insert
的另一个重载,它将一对迭代器作为:
A.insert(B.begin(), B.end());
上面的代码会将A
中的不元素从B
复制到A
(这意味着您无需处理手动重复。)
在这里查看insert
的所有重载:
答案 3 :(得分:4)
使用
template <class InputIterator>
void std::set::insert( InputIterator first, InputIterator last );