English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
map (Contenitore) di STL in C++
C ++ mappa size()La funzione viene utilizzata per trovare il numero di elementi esistenti nella cassetta degli strumenti della mappa.
Tipo di membrosize_typeÈ un tipo di intero unsigned.
size_type size() const; // Prima di C++ 11 size_type size() const noexcept; // Da C++ 11
Nessuno
Restituisce il numero di elementi esistenti nella mappa.
Lasciamo che vediamo un esempio semplice per calcolare la dimensione della mappa.
#include <map> #include <iostream> using namespace std; int main() {'}} map<int, char> num {{1, 'a'}, {3, 'b'}, {5, 'c'}, {7, 'd'}}; cout << "La cassetta degli strumenti num della mappa contiene " << num.size() << " elementi.\n"; }
Output:
La cassetta degli strumenti num della mappa contiene 4 elementi.
Nell'esempio sopra, la mappa num contiene 4 elementi. Pertanto, la funzione size() restituisce 4 elementi.
Lasciamo che vediamo un esempio semplice, calcolare la dimensione iniziale della mappa e la dimensione della mappa dopo l'aggiunta degli elementi.
#include <iostream> #include <map> using namespace std; int main(void) { map<char, int> m; cout << "Dimensione iniziale della mappa = " << m.size() << endl; m = { {'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5}, }; cout << "Dimensione della mappa dopo l'inserimento degli elementi = " << m.size() << endl; return 0; }
Output:
Dimensione iniziale della mappa = 0 Dimensione della mappa dopo l'inserimento degli elementi = 5
Nel esempio sopra, la prima mappa è vuota. Pertanto, il metodo size() restituirà 0 e dopo aver inserito 5 elementi restituirà 5.
Lasciamo vedere un esempio semplice.
#include <iostream> #include <map> using namespace std; int main () {'}} map<char, int> mymap; mymap['x'] = 100; mymap['y'] = 200; mymap['z'] = 300; while (mymap.size()) {'}} cout << mymap.begin()->first << " => " << mymap.begin()->second << '\n'; mymap.erase(mymap.begin()); } return 0; }
Output:
x => 100 y => 200 z => 300
Nel esempio sopra, è stato utilizzato il metodo size() solo nel ciclo while, e sono stati stampati gli elementi della mappa fino alla dimensione della mappa.
Lasciamo vedere un esempio semplice.
#include <iostream> #include <map> #include <string> using namespace std; int main() { typedef map<string, int> phoneMap; string name; int number; phoneMap phone; cout<<"Inserisci tre gruppi di nome e numero: \n"; for(int i = 0; i<3; i++) {'}} cin>> name; cin>> number; phone[name] = number; } cout<<"\nLa dimensione della mappa dei numeri di telefono è: " << phone.size(); cout<<"\nElenco dei numeri di telefono: \n"; phoneMap::iterator p; for(p = phone.begin(); p!=phone.end(); p++) {'}} cout << (*p).first << " " << (*p).second << " \n "; } return 0; }
Output:
Inserisci tre gruppi di nomi e numeri: Nikita 1001 Deep 2001 Aashi 3001 La dimensione della mappa di telefoni è: 3 Elenco di numeri di telefono: Aashi 3001 Deep 2001 Nikita 1001
Nel seguente esempio, il programma crea interattivamente una mappa di telefoni utilizzando tre nomi. Poi, mostra la dimensione totale della mappa di telefoni e tutti i nomi e numeri di telefono disponibili nella mappa.