Mapa
Lekcja 9 z 23 w kursie C++ – Standardowa biblioteka szablonów w Coddy.
Map to kontener asocjacyjny, który przechowuje elementy utworzone z pary klucz i wartość przypisana, uporządkowane według określonego porządku.

Każdy element ma unikalny klucz. Domyślnie elementy są również przechowywane w kolejności rosnącej według kluczy.
Jak więc zaimplementować mapy w C++? Najpierw musimy dołączyć plik nagłówkowy map za pomocą #include <map>.
Składnia inicjalizacji mapy w C++ wygląda następująco:
map<key_DataType, value_DataType> map_name ;Aby zadeklarować mapę taką jak powyższa, która ma wartości typu string jako klucze i liczby całkowite jako odpowiadające im wartości, używamy następującego zapisu:
map<string, int> myMap;Następnie musimy dowiedzieć się, jak wstawiać elementy (pary klucz-wartość) do mapy. Istnieją dwie metody wstawiania nowych par klucz-wartość do mapy.
Pierwsza metoda polega na użyciu znaku równości.
map_name[key] = value;Spowoduje to zapisanie wartości „value” w mapie pod kluczem „key”.
myMap["apple"] = 3;
cout << myMap["apple"];Output:
3Druga metoda polega na użyciu funkcji insert(). Funkcja insert dodaje do mapy nową parę klucz-wartość z określonym kluczem i wartością.
map_name.insert({key, value});myMap.insert({"banana", 1});
cout << myMap["banana"];Output:
1Metody mapy
| Metoda | Działanie |
| begin() | Zwraca iterator wskazujący na pierwszy element mapy |
| size() | Zwraca liczbę elementów w mapie |
| empty() | Zwraca informację, czy mapa jest pusta (1), czy nie (0) |
| erase() | Usuwa z mapy parę o podanym kluczu |
| clear() | Usuwa wszystkie elementy z mapy |
Wyzwanie
ŚredniPodano 5 imion i wyników z wejścia. Imiona i wyniki są dodawane naprzemiennie: najpierw podawane jest imię, a następnie wynik odpowiadający wcześniej podanemu imieniu i tak dalej.
Po 10 danych wejściowych podawana jest kolejna liczba, która określa, wyniki ilu z podanych imion należy wyświetlić po każdym z nich w nowym wierszu.
Input
John 25
Ben 38
Ana 70
Jacob 95
Drake 50
3
Ben
Drake
JacobOutput
38
50
95Spróbuj swoich sił
#include <map>
#include <iostream>
using namespace std;
int main()
{
// Enter your code here
return 0;
}Wszystkie lekcje w sekcji C++ – Standardowa biblioteka szablonów
Poćwicz samodzielnie: Kompilator C++ online