C++ sets class 1.0

ライセンス: 無料 ‎ファイルサイズ: 13.99 KB
‎ユーザー評価: 3.6/5 - ‎8 ‎投票

sets クラスを使用して、プログラムでセット操作を実行できます。これは、セット要素を符号なし長整数のプライベート配列のビットとして表します。配列サイズは、アプリケーションに合わせて変更できる定義済みの定数です。 sets クラスは、C++ 演算子のオーバーロードによって、次のセット操作をサポートします。 連合 2 つのセット A、B の和集合は、A または B に属するすべての要素の集合です。sets クラスでは、記号 + は二項共用体演算子です。 A + B = {x: x は A -または x 内の B } 交差点 2つのセットA、Bの交点は、AとBの両方に属するすべての要素の集合です。記号 * は、二項交差演算子です。 A * B = {x: x は A-and- x 内の B } 例 A = {1、2、3、4} と B = {3、4、5、6} を指定します。そうしたら A + B = {1, 2, 3, 4, 5, 6} A * B = {3, 4} 補完 集合理論では、集合は固定ユニバーサルセットUのサブセットである。sets クラスでは、U は 1 から MAX_WORDS * WORD_SIZEまでの番号が付いた要素のセットです。 以下のクラス宣言ファイルでは、次の定義が行われます。 #define MAX_WORDS 2 #define WORD_SIZE ( 8 * サイズ ( 符号なし長 ) ) これらのパラメータは、セットで 1 から 64 の U の範囲を作ります。U のサイズを増減するには、MAX_WORDSの定義値を変更します。 セット A の補数は、U に属するが A に属していない要素のセットです。記号 ~ は単項補数演算子です。 ~A = {x: x は U にあり、x は A } にありません 例 A = {1、2、3、4} と B = {3、4、5、6} を指定します。そうしたら ~A = {5, 6, 7, .} ~B = {1, 2, 7, 8, 9, .} 違い 2つのセットA、Bの違いは、Aに属するすべての要素のセットで、B内の要素は少なくなります。記号 - は二項差演算子です。 A - B = {x: x は A にあり、x は B} にありません 例 A = {1、2、3、4} と B = {3、4、5、6} を指定します。そうしたら A - B = {1, 2} A-B=A*~Bであることが示される。 対称差 2 つのセット A、B の対称差は、A または B に属するすべての要素のセットですが、両方ではありません。

バージョン履歴

  • バージョン 1.0 に転記 2001-01-15
    新しいリリース

プログラムの詳細