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 );