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( A, B) を実装する方法は?
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( A, B) を実装する方法は?
デフォルトでは、セットは一意の値のみでソートされているため、反復子範囲の挿入が機能するはずです。
A.insert(B.begin(), B.end());
A.insert(B.begin(), B.end()); // done
insert次のようにイテレータのペアを取る別のオーバーロードを使用できます。
A.insert(B.begin(), B.end());
上記のコードは、要素 ( には存在しないA) を からBにコピーします (Aつまり、重複を手動で処理する必要はありません)。
ここのすべてのオーバーロードを見てinsertください:
使用する
template <class InputIterator>
void std::set::insert( InputIterator first, InputIterator last );