Biblioteka C ++ - <mapa>
Wprowadzenie do mapy
Mapa jest słownikową strukturą danych. Jest to sekwencja pary (klucz, wartość), w której tylko pojedyncza wartość jest skojarzona z każdym unikalnym kluczem. Jest często określany jako tablica asocjacyjna .
W mapie wartości klucza są zwykle używane do sortowania elementów. W przypadku mapy typ klucza i wartości może się różnić i jest reprezentowany jako
typedef pair<const Key, T> value_type;
Mapy są zwykle implementowane jako drzewo wyszukiwania binarnego.
Mapy o zerowym rozmiarze są również ważne. W takim przypadku map.begin () i map.end () wskazują na tę samą lokalizację.
Definicja
Poniżej znajduje się definicja std :: map z pliku nagłówkowego <map>
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class map;
Parametry
Key - Typ klucza.
T - Typ mapowanych wartości.
Compare - Predykat binarny, który przyjmuje dwa klucze elementów jako argumenty i zwraca wartość bool.
Alloc - Typ obiektu alokatora.
T można zastąpić dowolnym innym typem danych, w tym typem zdefiniowanym przez użytkownika.
Typy członków
Następujące typy elementów członkowskich mogą być używane jako parametry lub zwracane typy przez funkcje składowe.
Sr.No. | Typy członków | Definicja |
---|---|---|
1 | typ klucza | Klucz (pierwszy parametr szablonu) |
2 | mapped_type | T (drugi parametr szablonu) |
3 | key_compare | Porównaj (trzeci parametr szablonu) |
4 | Alokator_typ | Alloc (czwarty parametr szablonu) |
5 | typ wartości | para <const key_type, mapped_type> |
6 | porównanie_wartości | Zagnieżdżona klasa funkcji do porównywania elementów |
7 | odniesienie | Alokator_type :: odniesienie |
8 | const_reference | Alokator_type :: const_reference |
9 | wskaźnik | Alokator_type :: wskaźnik |
10 | const_pointer | Alokator_type :: const_pointer |
11 | iterator | dwukierunkowy iterator na typ_wartości |
12 | const_iterator | dwukierunkowy iterator do const value_type |
13 | reverse_iterator | odwróć iterator |
14 | const_reverse_iterator | stały iterator odwrotny |
15 | typ_różnicy | ptrdiff_t |
16 | typ_rozmiaru | size_t |
Funkcje z <map>
Poniżej znajduje się lista wszystkich metod z nagłówka <map>.
Konstruktorzy
Sr.No. | Metoda i opis |
---|---|
1 | map :: map domyślny konstruktor
Konstruuje pustą mapę z zerowymi elementami. |
2 | map :: konstruktor zakresu mapy
Konstruuje mapę z tyloma elementami w zakresie od pierwszego do ostatniego . |
3 | map :: map copy constructor
Konstruuje mapę z kopią każdego elementu obecnego w istniejącej mapie. |
4 | map :: map move constructor
Konstruuje mapę z zawartością innych przy użyciu semantyki przenoszenia. |
5 | map :: map initializer list konstruktor Konstruuje mapę z listy inicjalizacji. |
Burzyciel
Sr.No. | Metoda i opis |
---|---|
1 | mapa :: ~ mapa
Niszczy obiekt mapy, zwalniając jego pamięć. |
Funkcje składowe
Sr.No. | Metoda i opis |
---|---|
1 | mapa :: o godz
Zwraca odniesienie do zamapowanej wartości skojarzonej z kluczem k . |
2 | mapa :: begin
Zwraca iterator, który odwołuje się do pierwszego elementu mapy. |
3 | mapa :: cbegin
Zwraca stały iterator, który odnosi się do pierwszego elementu mapy. |
4 | mapa :: cend
Zwraca stały iterator, który wskazuje na koniec elementu mapy. |
5 | mapa :: wyczyść
Niszczy mapę, usuwając wszystkie elementy i ustawia rozmiar mapy na zero. |
6 | mapa :: liczyć
Zwraca liczbę mapowanych wartości skojarzonych z kluczem k . |
7 | mapa :: crbegin
Zwraca stałą iterator odwrotny wskazujący na ostatni element kontenera i. |
8 | mapa :: crend
Zwraca stałą iterator odwrotny wskazujący element teoretyczny poprzedzający pierwszy element w kontenerze i. |
9 | mapa :: emplace
Rozszerza kontener, wstawiając nowy element. |
10 | map :: emplace_hint wersja podpowiedzi Wstawia nowy element na mapie, używając podpowiedzi jako pozycji dla elementu. |
11 | mapa :: pusty
Sprawdza, czy mapa jest pusta, czy nie. |
12 | mapa :: koniec
Zwraca iterator, który wskazuje na koniec elementu na mapie. |
13 | mapa :: equal_range
Zwraca zakres elementów pasujących do określonego klucza. |
14 | map :: erase pozycja wersja Usuwa pojedynczy element mapy z pozycji . |
15 | map :: erase pozycja wersja Usuwa pojedynczy element mapy z pozycji . |
16 | map :: erase key Usuwa zmapowaną wartość skojarzoną z kluczem k . |
17 | map :: erase range wersja Usuwa zakres elementu z mapy. |
18 | map :: erase range wersja Usuwa zakres elementu z mapy. |
19 | mapa :: znajdź
Znajduje element powiązany z kluczem k . |
20 | mapa :: get_allocator
Zwraca alokator powiązany z mapą. |
21 | mapa :: wstaw pojedynczy element Rozszerza kontener, wstawiając nowy element na mapie. |
22 | mapa :: wstaw wersję podpowiedzi Rozszerza kontener, wstawiając nowy element na mapie. |
23 | mapa :: wstaw wersję zakresu Rozszerza kontener, wstawiając nowe elementy na mapie. |
24 | map :: insert move hint verstion Rozszerza mapę, wstawiając nowy element. |
25 | map :: insert wersja listy inicjalizacyjnej Rozszerza mapę, wstawiając nowy element z listy inicjalizacyjnej. |
26 | map :: key_comp
Zwraca obiekt funkcji, który porównuje klucze, który jest kopią argumentu konstruktora tego kontenera comp . |
27 | mapa :: lower_bound
Zwraca iterator wskazujący na pierwszy element nie mniejszy niż klucz k . |
28 | mapa :: max_size
Zwraca maksymalną liczbę elementów, które może przechowywać mapa. |
29 | map :: operator = skopiuj wersję Przypisz nową zawartość do mapy, zastępując stare i modyfikując rozmiar, jeśli to konieczne. |
30 | map :: operator = przenieś wersję Przenieś zawartość jednej mapy do drugiej i zmodyfikuj rozmiar, jeśli to konieczne. |
31 | map :: operator = wersja listy inicjalizacyjnej Skopiuj elementy z listy inicjalizacyjnej do mapy. |
32 | map :: operator [] kopiuj wersję Jeśli klucz k pasuje do elementu w kontenerze, to metoda zwraca odwołanie do elementu. |
33 | map :: operator [] move version Jeśli klucz k pasuje do elementu w kontenerze, to metoda zwraca odwołanie do elementu. |
34 | mapa :: rbegin
Zwraca odwrotny iterator, który wskazuje na ostatni element mapy. |
35 | map :: rend
Zwraca odwrotną iterator, która wskazuje odwrotny koniec mapy i. |
36 | rozmiar mapy
Zwraca liczbę elementów obecnych na mapie. |
37 | map :: swap
Wymienia zawartość mapy z zawartością mapy x. |
38 | mapa :: upper_bound
Zwraca iterator wskazujący na pierwszy element, który jest większy niż klucz k . |
39 | mapa :: value_comp
Zwraca obiekt funkcji, który porównuje obiekty typu std :: map :: value_type . |
Przeciążone funkcje niebędące członkami
Sr.No. | Metoda i opis |
---|---|
1 | operator ==
Sprawdza, czy dwie mapy są równe, czy nie. |
2 | operator! = Sprawdza, czy dwie mapy są równe, czy nie. |
3 | operator < Sprawdza, czy pierwsza mapa jest mniejsza niż inna, czy nie. |
4 | mapa :: operator <= Sprawdza, czy pierwsza mapa jest mniejsza lub równa innej, czy nie. |
5 | operator>
Sprawdza, czy pierwsza mapa jest większa niż inna, czy nie. |
6 | operator> =
Sprawdza, czy pierwsza mapa jest większa lub równa innej, czy też nie. |
7 | zamiana()
Wymienia zawartość mapy z zawartością mapy x. |
Wprowadzenie do multimap
Multimap jest słownikową strukturą danych. Jest to sekwencja pary (klucz, wartość) , w której wiele wartości może być skojarzonych z równoważnymi kluczami. Jest często określany jako tablica asocjacyjna .
W multimapach wartości kluczy są zwykle używane do sortowania elementów. W przypadku multimap typ danych klucza i wartości może się różnić i jest reprezentowany jako
typedef pair<const Key, T> value_type;
Multimapy są zwykle implementowane jako drzewo wyszukiwania binarnego.
Multimapy o zerowym rozmiarze są również ważne. W takim przypadku multimap.begin () i multimap.end () wskazują na to samo położenie.
Definicja
Poniżej znajduje się definicja std :: multimap z pliku nagłówkowego <multimap>
template < class Key,
class T,
class Compare = less<Key>,
class Alloc = allocator<pair<const Key,T> >
> class multimap;
Parametry
Key - Typ klucza.
T - Typ mapowanych wartości.
Compare - Predykat binarny, który przyjmuje dwa klucze elementów jako argumenty i zwraca wartość bool.
Alloc - Typ obiektu alokatora.
T można zastąpić dowolnym innym typem danych, w tym typem zdefiniowanym przez użytkownika.
Typy członków
Następujące typy elementów członkowskich mogą być używane jako parametry lub zwracane typy przez funkcje składowe.
Sr.No. | Typy członków | Definicja |
---|---|---|
1 | typ klucza | Klucz (pierwszy parametr szablonu) |
2 | mapped_type | T (drugi parametr szablonu) |
3 | key_compare | Porównaj (trzeci parametr szablonu) |
4 | Alokator_typ | Alloc (czwarty parametr szablonu) |
5 | typ wartości | para <const key_type, mapped_type> |
6 | porównanie_wartości | Zagnieżdżona klasa funkcji do porównywania elementów |
7 | odniesienie | Alokator_type :: odniesienie |
8 | const_reference | Alokator_type :: const_reference |
9 | wskaźnik | Alokator_type :: wskaźnik |
10 | const_pointer | Alokator_type :: const_pointer |
11 | iterator | dwukierunkowy iterator na typ_wartości |
12 | const_iterator | dwukierunkowy iterator do const value_type |
13 | reverse_iterator | odwróć iterator |
14 | const_reverse_iterator | stały iterator odwrotny |
15 | typ_różnicy | ptrdiff_t |
16 | typ_rozmiaru | size_t |
Funkcje z <multimap>
Poniżej znajduje się lista wszystkich metod z nagłówka <multimap>.
Konstruktorzy
Sr.No. | Metoda i opis |
---|---|
1 | multimap :: multimap domyślny konstruktor Konstruuje pustą multimapę z zerowymi elementami. |
2 | multimap :: konstruktor zakresu multimap Tworzy multimapę zawierającą tyle elementów, ile w zakresie od pierwszego do ostatniego . |
3 | konstruktor kopiujący multimap :: multimap Tworzy multimapę z kopią każdego elementu obecnego w istniejącej multimapie. |
4 | konstruktor przenoszenia multimap :: multimap Konstruuje multimapę z zawartością innych przy użyciu semantyki przenoszenia. |
5 | multimap :: multimap konstruktor listy inicjalizacyjnej Konstruuje multimapę z listy inicjalizacji. |
Burzyciel
Sr.No. | Metoda i opis |
---|---|
1 | multimap :: ~ multimap
Niszczy obiekt multimap, zwalniając jego pamięć. |
Funkcje składowe
Sr.No. | Metoda i opis |
---|---|
1 | multimap :: begin
Zwraca iterator, który odwołuje się do pierwszego elementu multimapy. |
2 | multimap :: cbegin
Zwraca stałą iterator, która odwołuje się do pierwszego elementu multimapy. |
3 | multimap :: cend
Zwraca stałą iterator, która wskazuje na koniec elementu multimapy. |
4 | multimap :: clear
Niszczy multimapę, usuwając wszystkie elementy i ustawia rozmiar multimapy na zero. |
5 | multimap :: count
Zwraca liczbę wartości wielokrotnych skojarzonych z kluczem k . |
6 | multimap :: crbegin
Zwraca stałą iterator odwrotny wskazujący na ostatni element kontenera. |
7 | multimap :: crend
Zwraca stałą iterator odwrotny wskazujący na element teoretyczny poprzedzający pierwszy element w kontenerze. |
8 | multimap :: emplace
Rozszerza kontener, wstawiając nowy element. |
9 | multimap :: emplace_hint wersja podpowiedzi Wstawia nowy element do multimapy, używając podpowiedzi jako pozycji elementu. |
10 | multimap :: empty
Sprawdza, czy multimapa jest pusta, czy nie. |
11 | multimap :: end
Zwraca iterator wskazujący na koniec elementu multimapy. |
12 | multimap :: equal_range
Zwraca zakres elementów pasujących do określonego klucza. |
13 | multimap :: erase pozycja wersja Usuwa pojedynczy element multimapy z pozycji . |
14 | multimap :: erase pozycja wersja Usuwa pojedynczy element multimapy z pozycji . |
15 | multimap :: erase key
Usuwa zmapowaną wartość skojarzoną z kluczem k . |
16 | wersja multimap :: erase range
Usuwa zakres elementu z multimapy. |
17 | wersja multimap :: erase range Usuwa zakres elementu z multimapy. |
18 | multimap :: find
Znajduje element powiązany z kluczem k . |
19 | multimap :: get_allocator
Zwraca alokator powiązany z multimapą. |
20 | multimap :: wstaw pojedynczy element Rozszerza kontener, wstawiając nowy element w multimapie. |
21 | multimap :: insert hint version Rozszerza kontener, wstawiając nowy element w multimapie. |
22 | wersja multimap :: insert range
Rozszerza kontener, wstawiając nowe elementy w multimapie. |
23 | multimap :: insert move hint verstion Rozszerza multimapę, wstawiając nowy element. |
24 | multimap :: insert wersja listy inicjalizacyjnej
Rozszerza multimap, wstawiając nowy element z listy inicjalizacyjnej. |
25 | multimap :: key_comp
Zwraca obiekt funkcji, który porównuje klucze, który jest kopią argumentu konstruktora tego kontenera comp . |
26 | multimap :: lower_bound
Zwraca iterator wskazujący na pierwszy element nie mniejszy niż klucz k . |
27 | multimap :: max_size
Zwraca maksymalną liczbę elementów, które można przechowywać w multimapie. |
28 | multimap :: operator = kopiuj wersję Przypisz nową zawartość do multimapy, zastępując stare i modyfikując rozmiar, jeśli to konieczne. |
29 | multimap :: operator = przenieś wersję Przenieś zawartość jednej multimapy do innej i zmodyfikuj rozmiar, jeśli to konieczne. |
30 | multimap :: operator = wersja listy inicjalizacyjnej Skopiuj elementy z listy inicjalizacyjnej do multimap. |
31 | multimap :: rbegin
Zwraca iterator odwrotny, który wskazuje ostatni element multimapy. |
32 | multimap :: rend
Zwraca odwrotny iterator, który wskazuje odwrotny koniec multimapy. |
33 | multimap :: size
Zwraca liczbę elementów obecnych w multimapie. |
34 | multimap :: swap
Zamienia zawartość multimapy na zawartość multimap x. |
35 | multimap :: upper_bound
Zwraca iterator wskazujący na pierwszy element, który jest większy niż klucz k . |
36 | multimap :: value_comp
Zwraca obiekt funkcji, który porównuje obiekty typu std :: multimap :: value_type . |
Przeciążone funkcje niebędące członkami
Sr.No. | Metoda i opis |
---|---|
1 | operator ==
Sprawdza, czy dwa multimapy są równe, czy nie. |
2 | operator! =
Sprawdza, czy dwa multimapy są równe, czy nie. |
3 | operator <
Sprawdza, czy pierwsza multimapa jest mniejsza niż inna, czy nie. |
4 | multimap :: operator <=
Sprawdza, czy pierwsza multimapa jest mniejsza lub równa innej, czy nie. |
5 | operator>
Sprawdza, czy pierwsza multimapa jest większa niż inna, czy nie. |
6 | operator> =
Sprawdza, czy pierwsza multimapa jest większa lub równa innej, czy też nie. |
7 | zamiana()
Zamienia zawartość multimapy na zawartość multimap x. |