私は関数型プログラミングのバックグラウンドを持っており、(効率的な)C++データ構造には慣れていません。に示されているような複数の要素を保持するデータ構造が必要ですstruct element
。コレクションでは、フィールドIDは一意である必要があります。
集合論のように非常に高速な集合比較を実行したい。たとえば、集合{x1,x2,x3}
を比較するとき{x4,x5}
に、交差集合{x5}
(または{x2}
この場合は等しい)を決定し、たとえばのような他の集合から集合を減算したい{x1,x2,x3} \ {x5} = {x1,x3}
。
C ++の世界に...「集合論的」データ構造はありますか?
struct element {
int id;
float value;
};
struct element x1 = {1, 1.0};
struct element x2 = {2, 2.0};
struct element x3 = {3, 3.0};
struct element x4 = {3, 3.1};
struct element x5 = {2, 2.0};