C++ sets class 1.0

Licentie: Gratis ‎Bestandsgrootte: 13.99 KB
‎Gebruikersbeoordeling: 3.6/5 - ‎8 ‎Stemmen

De klasse sets kan worden gebruikt om setbewerkingen in uw programma's uit te voeren. Het vertegenwoordigt set-elementen als bits in een privé-array van niet-ondertekende lange gehele getallen. De matrixgrootte is een gedefinieerde constante die kan worden gewijzigd om bij uw toepassing te passen. De klasse set ondersteunt de volgende ingestelde bewerkingen door middel van overbelasting van de C++-operator: Unie De vereniging van twee sets A, B is de set van alle elementen die behoren tot A of B. In de klasse sets is het symbool + de binaire unieoperator: A + B = {x: x is in A -or- x is in B } Snijpunt De kruising van twee sets A, B is de set van alle elementen die behoren tot zowel A en B. Het symbool * is de binaire kruising operator: A * B = {x: x is in A -en- x is in B } Voorbeeld Laat A = {1, 2, 3, 4} en B = {3, 4, 5, 6}. Dan A + B = {1, 2, 3, 4, 5, 6} A * B = {3, 4} Aanvullen In de verzamelingenleer zijn verzamelingen subsets van een vaste universele verzameling U. In de klasse set is U de set elementen genummerd van 1 tot MAX_WORDS * WORD_SIZE. In het onderstaande aangiftebestand worden de volgende definities gegeven: #define MAX_WORDS 2 #define WORD_SIZE ( 8 * grootte van( niet-ondertekend lang ) ) Deze parameters maken het bereik van U, 1 tot 64 in sets. Als u de grootte van U wilt vergroten of verkleinen, wijzigt u de gedefinieerde waarde van MAX_WORDS. De aanvulling van set A is de set van elementen die behoren tot U, maar niet behoren tot A. Het symbool ~ is de unary complement operator: ~A = {x: x is in U, x staat niet in A } Voorbeeld Laat A = {1, 2, 3, 4} en B = {3, 4, 5, 6}. Dan ~A = {5, 6, 7, . . .} ~B = {1, 2, 7, 8, 9, . . .} Verschil Het verschil van twee sets A, B is de set van alle elementen die behoren tot A minder die in B. Het symbool - is de binaire verschil operator: A - B = {x: x is in A, x staat niet in B} Voorbeeld Laat A = {1, 2, 3, 4} en B = {3, 4, 5, 6}. Dan A - B = {1, 2} Er kan worden aangetoond dat A - B = A * ~ B. symmetrisch verschil Het symmetrische verschil van twee sets A, B is de verzameling van alle elementen die behoren tot A of B, maar niet beide.

versiegeschiedenis

  • Versie 1.0 geplaatst op 2001-01-15
    Nieuwe release

Programmadetails