logo

Funzione di mappa C++

Le mappe fanno parte del C++ STL (Standard Template Library). Le mappe sono i contenitori associativi che memorizzano coppie chiave-valore ordinate, in cui ogni chiave è univoca e può essere inserita o eliminata ma non può essere modificata. I valori associati alle chiavi possono essere modificati.

Per esempio: Una mappa di Dipendenti in cui l'ID dipendente è la chiave e il nome è il valore può essere rappresentata come:

Chiavi Valori
101 Nikita
102 Robin
103 Profondo
104 John

Sintassi

 template <class key, map::key_type class t, map::mapped_type compare="less," map::key_compare alloc="allocator&lt;pair"> // map::allocator_type &gt; class map; </class>

Parametro

chiave: Il tipo di dati chiave da archiviare nella mappa.

tipo: Il tipo di dati del valore da archiviare nella mappa.

confrontare: Una classe di confronto che accetta due argomenti dello stesso tipo bool e restituisce un valore. Questo argomento è facoltativo e il predicato binario less è il valore predefinito.

allocare: Tipo dell'oggetto allocatore. Questo argomento è facoltativo e il valore predefinito è allocator .

stringa in int

Creazione di una mappa

Le mappe possono essere facilmente create utilizzando la seguente istruzione:

 typedef pair value_type; 

Il modulo sopra verrà utilizzato per creare una mappa con la chiave di tipo Tipo di chiave e valore del tipo tipo di valore. Una cosa importante è che la chiave di una mappa e i valori corrispondenti siano sempre inseriti in coppia, non è possibile inserire solo la chiave o solo un valore in una mappa.

Esempio 1

 #include #include #include #include using namespace std; int main() { map Employees; // 1) Assignment using array index notation Employees[101] = &apos;Nikita&apos;; Employees[105] = &apos;John&apos;; Employees[103] = &apos;Dolly&apos;; Employees[104] = &apos;Deep&apos;; Employees[102] = &apos;Aman&apos;; cout &lt;&lt; &apos;Employees[104]=&apos; &lt;&lt; Employees[104] &lt;&lt; endl &lt;&lt; endl; cout &lt;&lt; &apos;Map size: &apos; &lt;&lt; Employees.size() &lt;&lt; endl; cout &lt;&lt; endl &lt;&lt; &apos;Natural Order:&apos; &lt;&lt; endl; for( map::iterator ii=Employees.begin(); ii!=Employees.end(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } cout &lt;&lt; endl &lt;&lt; &apos;Reverse Order:&apos; &lt;&lt; endl; for( map::reverse_iterator ii=Employees.rbegin(); ii!=Employees.rend(); ++ii) { cout &lt;&lt; (*ii).first &lt;&lt; &apos;: &apos; &lt;&lt; (*ii).second &lt;&lt; endl; } } 

Produzione:

 Employees[104]=Deep Map size: 5 Natural Order: 101: Nikita 102: Aman 103: Dolly 104: Deep 105: John Reverse Order: 105: John 104: Deep 103: Dolly 102: Aman 101: Nikita 

Funzioni dei membri

Di seguito è riportato l'elenco di tutte le funzioni membro della mappa:

Costruttore/Distruttore

Funzioni Descrizione
costruttori Costruisci la mappa
distruttori Distruttore di mappe
operatore= Copia gli elementi della mappa su un'altra mappa.

Iteratori

Funzioni Descrizione
inizio Restituisce un iteratore che punta al primo elemento nella mappa.
cbegin Restituisce un iteratore const che punta al primo elemento nella mappa.
FINE Restituisce un iteratore che punta alla fine passata.
alcuni Restituisce un iteratore costante che punta alla fine passata.
rbegin Restituisce un iteratore inverso che punta alla fine.
fa Restituisce un iteratore inverso che punta all'inizio.
crbegin Restituisce un iteratore inverso costante che punta alla fine.
credere Restituisce un iteratore inverso costante che punta all'inizio.

Capacità

Funzioni Descrizione
vuoto Restituisce vero se la mappa è vuota.
misurare Restituisce il numero di elementi nella mappa.
dimensione_massima Restituisce la dimensione massima della mappa.

Accesso agli elementi

Funzioni Descrizione
operatore[] Recupera l'elemento con la chiave specificata.
A Recupera l'elemento con la chiave specificata.

Modificatori

Funzioni Descrizione
inserire Inserisci elemento nella mappa.
cancellare Cancella elementi dalla mappa.
scambio Scambia il contenuto della mappa.
chiaro Elimina tutti gli elementi della mappa.
posizione Costruisci e inserisci i nuovi elementi nella mappa.
emplace_hint Costruisci e inserisci nuovi elementi nella mappa tramite suggerimento.

Osservatori

Funzioni Descrizione
chiave_comp Restituisce una copia dell'oggetto di confronto chiave.
valore_comp Restituisce una copia dell'oggetto di confronto dei valori.

Operazioni

Funzioni Descrizione
Trovare Cerca un elemento con la chiave specificata.
contare Ottiene il numero di elementi corrispondenti alla chiave specificata.
limite inferiore Restituisce un iteratore al limite inferiore.
limite superiore Restituisce un iteratore al limite superiore.
intervallo_uguale Restituisce l'intervallo di elementi corrispondenti alla chiave specificata.

Allocatore

Funzioni Descrizione
get_allocatore Restituisce un oggetto allocatore utilizzato per costruire la mappa.

Funzioni sovraccaricate di non membri

Funzioni Descrizione
operatore== Controlla se le due mappe sono uguali o meno.
operatore!= Controlla se le due mappe sono uguali o meno.
operatore< Controlla se la prima mappa è inferiore alle altre oppure no.
operatore<=< td> Controlla se la prima mappa è inferiore o uguale all'altra oppure no.
operatore> Controlla se la prima mappa è più grande delle altre oppure no.
operatore>= Controlla se la prima mappa è maggiore o uguale all'altra oppure no.
scambio() Scambia l'elemento di due mappe.