- Home
- / Education
- / Oldies
- / C++ sets class

Free13.66 KB |
Download |

A D V E R T I S E M E N T

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.

New release

Tell us your experience with C++ sets class 1.0

RELATED PROGRAMS

Our Recommendations

Our Recommendations

A D V E R T I S E M E N T

Click stars to rate this APP!

| ||||

| ||||

Downloads last week: 0 | ||||

Release Date: 2001-01-15 | ||||

Publisher: N/A | ||||

Operating System: windows |

A D V E R T I S E M E N T