4

整数と言う N 個のセットがあります。ここで、これらの集合の交点を見つける関数が必要です。たとえば、次の場合

Set1 = { A, D, E, F, G, L }
Set2 = { N, K, E, G, B, C }
Set3 = { K, P, Q, E, F, G }
Set4 = { Z, Y, C, G, F, E }

E と G はすべてのセットに含まれているため{ E, G }、出力として取得する必要があります。これを行う最も簡単な方法は何ですか。これを行うための独自のコードを作成することはそれほど難しくないことはわかっていますが、おそらく、これに対する STL またはその他のライブラリ関数が既に存在しており、これに興味があります。

4

2 に答える 2

3

私が考えることができる2つの可能な解決策

  1. セットをベクトルに保存します。を使用してベクトルを並べ替え、 を使用してstd::sort集合交差を計算します。std::set_intersection
  2. セットを に保存しますstd::set。これにより、要素がとにかくソートされ、使用しますstd::set_intersection
于 2013-02-26T11:07:07.980 に答える
1

を参照してくださいstd::set_intersection。(コメントですでに指摘されているように、おそらく結合ではなく交差が必要です。)

于 2013-02-26T10:57:32.470 に答える