Mappa
Lezione 9 di 23 del corso C++ - Libreria standard dei template di Coddy.
Map è un contenitore associativo che memorizza elementi costituiti da una combinazione di un valore chiave e di un valore associato, seguendo un ordine specifico.

Ogni elemento ha un valore chiave univoco. Inoltre, per impostazione predefinita, gli elementi vengono memorizzati in ordine crescente in base ai valori chiave.
Vediamo quindi come implementare le mappe in C++. Per prima cosa, dobbiamo includere il file header map con #include <map>.
La sintassi per inizializzare la map di C++ è la seguente:
map<key_DataType, value_DataType> map_name ;Per dichiarare una map come quella qui sopra, che ha valori string come chiavi e interi come valori corrispondenti, usiamo quanto segue:
map<string, int> myMap;Ora dobbiamo imparare come inserire elementi (coppie chiave-valore) nella map. Abbiamo due metodi per inserire nuove coppie chiave-valore nella map.
Il primo metodo consiste nell'usare il segno di uguale.
map_name[key] = value;Questo memorizzerà nella map il valore di 'value' con la chiave 'key'.
myMap["apple"] = 3;
cout << myMap["apple"];Output:
3Il metodo successivo consiste nell'usare la funzione insert(). La funzione insert aggiunge alla map una nuova coppia chiave-valore con la chiave e il valore specificati.
map_name.insert({key, value});myMap.insert({"banana", 1});
cout << myMap["banana"];Output:
1Metodi di Map
| Metodo | Funzionalità |
| begin() | Restituisce un iteratore che punta al primo elemento della map |
| size() | Restituisce il numero di elementi nella map |
| empty() | Restituisce se la map è vuota (1) oppure no (0) |
| erase() | Rimuove dalla map la coppia con il valore chiave specificato |
| clear() | Rimuove tutti gli elementi dalla map |
Sfida
MedioVengono forniti 5 nomi e punteggi in input. I nomi e i punteggi vengono inseriti alternandoli: si inserisce un nome, poi si inserisce il punteggio corrispondente al nome inserito prima, e così via.
Dopo i 10 input, viene inserito un altro numero che rappresenta quanti punteggi dei nomi inseriti dovresti visualizzare, uno per ogni nome, su una nuova riga.
Input
John 25
Ben 38
Ana 70
Jacob 95
Drake 50
3
Ben
Drake
JacobOutput
38
50
95Provalo tu
#include <map>
#include <iostream>
using namespace std;
int main()
{
// Enter your code here
return 0;
}Tutte le lezioni di C++ - Libreria standard dei template
Esercitati da solo: Compilatore C++ online