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.