6, 10, 2, 8, 4 to zestaw; 2, 4, 6, 8, 10 to zbiór tych samych liczb całkowitych, ułożonych w porządku rosnącym. W matematyce zbiór ma unikalne elementy (różne elementy), a to znaczy, że żaden element nie występuje więcej niż raz. Co więcej, multiset to zestaw, w którym dowolny element może wystąpić więcej niż raz. 6, 6, 10, 2, 2, 8, 4, 4, 4 to multiset. 2, 2, 4, 4, 4, 6, 6, 8, 10 to ten sam multiset, ale z elementami ułożonymi w porządku rosnącym. Ten artykuł nie dotyczy multiset. Zajmuje się strukturą danych C++ o nazwie set.
Mapa w oprogramowaniu jest jak tablica, ale jest to tablica z dwiema kolumnami zamiast jednej. Pierwsza kolumna zawiera klucze, a druga kolumna wartości. Każdy wiersz to jedna para, co tworzy parę klucz/wartość. Klucz jest bezpośrednio związany z jego wartością.
Przykładem mapy jest 'c',30, 'b',20, 'd',30, 'e',40, 'a',10. Pierwsza para klucz/wartość wstawiona tutaj to 'c',3, gdzie 'c' to klucz, a 30 to wartość. Ta mapa nie jest uporządkowana według kluczy. Porządkowanie tej mapy według kluczy daje 'a',10, 'b',20, 'c',30, 'd',30, 'e',40. Zauważ, że mogą istnieć zduplikowane wartości, ale nie zduplikowane klucze. Mapa uporządkowana to mapa uporządkowana według klawiszy by.
Multiset ma się do zbioru, tak jak multimapa do mapy. Oznacza to, że istnieją mapy ze zduplikowanymi kluczami. Przykładem multimapy jest 'a',10, 'b',20, 'b',20, 'c',30, 'c',30, 'd ',30, 'e',40. Jak wspomniano powyżej, ten artykuł nie dotyczy multimap, ale dotyczy struktury danych C++ zwanej map.
W C++ struktura danych to struktura z właściwościami (członkami danych) i metodami (funkcje członkowskie). Dane struktury to lista; zestaw to lista; mapa to lista par klucz/wartość.
W tym artykule omówiono podstawy zbiorów i map w C++, a aby lepiej zrozumieć ten artykuł, czytelnik powinien mieć podstawową wiedzę o C++.
Treść artykułu:
- Klasa i jej obiekty
- Tworzenie zestawu lub mapy
- Podstawy iteratorów
- Dostęp do elementów zestawu i mapy
- Kolejność elementów w zestawie lub na mapie
- Inne powszechnie używane funkcje członków
- Wniosek
Klasa i jej obiekty:
W C++ zbiór, mapa i inne podobne struktury nazywane są kontenerami. Klasa jest uogólnioną jednostką zawierającą elementy danych, którymi są zmienne i powiązane ze sobą funkcje składowe. Gdy członkom danych nada się wartości, tworzony jest obiekt. Jednak obiekt powstaje w procesie zwanym instancją. Ponieważ klasa może prowadzić do różnych wartości dla tych samych zmiennych składowych danych, różne obiekty mogą być następnie tworzone z tej samej klasy.
W C++ nieużyteczny zestaw jest klasą, a także nieużyteczną mapą. Kiedy obiekt jest tworzony z nieużytecznego zbioru lub nieużytecznej mapy, obiekt staje się rzeczywistą strukturą danych. W przypadku zbioru i mapowania struktur danych głównym elementem danych jest lista. Otóż zestaw i mapa tworzą grupę kontenerów o nazwie „zamówione kontenery asocjacyjne”. Nieuporządkowany zestaw i nieuporządkowana mapa również istnieją, ale niestety nie zostały one omówione w tym artykule.
Tworzenie zestawu lub mapy:
Tworzenie instancji zestawu z jego klasy set jest tworzeniem zestawu; tworzenie instancji mapy z jej klasy map to tworzenie mapy. Tak utworzony obiekt otrzymuje nazwę wybraną przez programistę.
W celu stworzenia zestawu program należy rozpocząć od:
#zawierać
#zawierać
przy użyciu standardowej przestrzeni nazw; Zwróć uwagę na dyrektywę „#include ”, która zawiera bibliotekę set zawierającą klasę set, z której zostaną utworzone instancje struktur danych zestawu.
Aby stworzyć mapę, program powinien zacząć od:
#zawierać
#zawierać