3
  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) を実装する方法は?

4

4 に答える 4

9

デフォルトでは、セットは一意の値のみでソートされているため、反復子範囲の挿入が機能するはずです。

A.insert(B.begin(), B.end());
于 2012-06-15T18:14:22.727 に答える
5
A.insert(B.begin(), B.end());      // done
于 2012-06-15T18:13:00.540 に答える
4

insert次のようにイテレータのペアを取る別のオーバーロードを使用できます。

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

上記のコードは、要素 ( には存在しないA) を からBにコピーします (Aつまり、重複を手動で処理する必要はありません)。

ここのすべてのオーバーロードを見てinsertください:

于 2012-06-15T18:13:09.717 に答える
4

使用する

template <class InputIterator>
void std::set::insert( InputIterator first, InputIterator last );
于 2012-06-15T18:14:05.990 に答える