Check out and contribute to CodePedia, the wiki for developers.
*/
*/

C++ sets class 1.0

*/

C++ sets class 1.0

Submitted By: schmitts
Rating: Not rated (Rate It)

The sets class can be used to perform set operations in your programs. It represents set elements as bits in a private array of unsigned long integers. The array size is a defined constant which can be changed to suit your application.

The sets class supports the following set operations by means of C++ operator overloading:

union
The union of two sets A, B is the set of all elements which belong to either A or B. In the sets class, the symbol + is the binary union operator:
A + B {x: x is in A -or- x is in B }

intersection
The intersection of two sets A, B is the set of all elements which belong to both A and B. The symbol is the binary intersection operator:
A B {x: x is in A -and- x is in B }
example
Let A {1, 2, 3, 4} and B {3, 4, 5, 6}. Then
A + B {1, 2, 3, 4, 5, 6}
A B {3, 4}

complement
In set theory, sets are subsets of a fixed universal set U. In the sets class, U is the set of elements numbered from 1 to MAX_WORDS WORD_SIZE. In the class declaration file below, the following definitions are made:
#define MAX_WORDS 2
#define WORD_SIZE ( 8 sizeof( unsigned long ) )
These parameters make the range of U, 1 to 64 in sets. To increase or decrease the size of U, change the defined value of MAX_WORDS.

The complement of set A is the set of elements belonging to U but not belonging to A. The symbol ~ is the unary complement operator:
~A {x: x is in U, x is not in A }
example
Let A {1, 2, 3, 4} and B {3, 4, 5, 6}. Then
~A {5, 6, 7, . . .}
~B {1, 2, 7, 8, 9, . . .}

difference
The difference of two sets A, B is the set of all elements which belong to A less those in B. The symbol is the binary difference operator:
A B {x: x is in A, x is not in B}
example
Let A {1, 2, 3, 4} and B {3, 4, 5, 6}. Then
A B {1, 2}
It can be shown that A B A ~B.

symmetric difference
The symmetric difference of two sets A, B is the set of all elements which belong to A or to B, but not both.


File Details
NOTE: Some downloads must be obtained through publishers´s site.
Do you want to get your software listed on this site? Go to our submissions area.

Screenshot


Details

File Name:
SETSCL10.zip
Product homepage:
Order page:
Languages:
C++
Platforms:
Unknown
Release date:
1/15/2001
License:
Unknown
Size:
13 KB
Price/Fee (US$):
Unknown
Number of downloads:
292

Comments (0)


Add Your Rating

(Not published)
star
starstar
starstarstar
starstarstarstar
starstarstarstarstar

corner
© 1996-2008 CommunityHeaven LLC. All rights reserved. Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
North American business development: Nicolai Wadstrom. Publisher: Lars Hagelin.
Resource Listings