C++ sets class 1.0

Licencji: Wolna ‎Rozmiar pliku: 13.99 KB
‎Ocena użytkowników: 3.6/5 - ‎8 ‎Głosów

Klasa zestawów może służyć do wykonywania operacji zestawu w programach. Reprezentuje elementy zestawu jako bity w prywatnej tablicy niepodpisanych długich liczby całkowite. Rozmiar tablicy jest zdefiniowaną stałą, którą można zmienić w zależności od aplikacji. Klasa sets obsługuje następujące operacje zestawu za pomocą przeciążenia operatora C++: Unii Połączenie dwóch zestawów A, B jest zestawem wszystkich elementów, które należą do A lub B. W klasie zestawów symbol + jest operatorem unii binarnej: A + B = {x: x jest w A -lub- x jest w B } Przecięcia Przecięcie dwóch zestawów A, B jest zestawem wszystkich elementów, które należą zarówno do A, jak i B. Symbol * jest operatorem przecięcia binarnego: A * B = {x: x jest w A -and- x jest w B } Przykład Niech A = {1, 2, 3, 4} i B = {3, 4, 5, 6}. Następnie A + B = {1, 2, 3, 4, 5, 6} A * B = {3, 4} Uzupełnienie W teorii zestawów zestawy są podzbiorami stałego zestawu uniwersalnego U. W set class, U jest zestaw elementów ponumerowanych od 1 do MAX_WORDS * WORD_SIZE. W poniższym pliku deklaracji klasy są dokonywane następujące definicje: #define MAX_WORDS 2 #define WORD_SIZE ( 8 * sizeof( niepodpisane długie ) ) Parametry te sprawiają, że zakres U, 1 do 64 w zestawach. Aby zwiększyć lub zmniejszyć rozmiar U, zmień zdefiniowaną wartość MAX_WORDS. Uzupełnieniem zestawu A jest zestaw elementów należących do U, ale nie należących do A. Symbol ~ jest operatorem dopełniacza unary: ~A = {x: x jest w U, x nie jest w A } Przykład Niech A = {1, 2, 3, 4} i B = {3, 4, 5, 6}. Następnie ~A = {5, 6, 7, . .} ~B = {1, 2, 7, 8, 9, . .} Różnica Różnica dwóch zestawów A, B jest zestaw wszystkich elementów, które należą do A mniej tych w B. Symbol - jest operatorem różnicy binarnej: A - B = {x: x jest w A, x nie ma w B} Przykład Niech A = {1, 2, 3, 4} i B = {3, 4, 5, 6}. Następnie A - B = {1, 2} Można wykazać, że A - B = A * ~B. różnica symetryczna Różnica symetryczna dwóch zestawów A, B jest zestawem wszystkich elementów, które należą do A lub B, ale nie oba.

historia wersji

  • Wersja 1.0 opublikowany na 2001-01-15
    Nowe wydanie

Szczegóły programu