English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
C++ map insert()la funzione utilizzata per inserire un nuovo elemento nel mapinserimento di un nuovo elemento.
poiché l'elemento chiave nel map èunicoper cui l'operazione di inserimento verifica prima se la chiave fornita esiste già nel map, se la chiave esiste già nel map, non verrà inserita nel map e l'iteratore itererà fino a tornare alla chiave esistente, altrimenti verrà inserito un nuovo elemento nel map.
singolo elemento (1) pair<iterator,bool> insert(const value_type& val); // prima di C++ 11 con suggerimento (2) iterator insert(iterator position, const value_type& val); //prima della C++ 11 intervallo (3) template<class InputIterator> void insert(InputIterator first, InputIterator last); //prima della C++ 11 elemento singolo (1) pair<iterator, bool> insert(const value_type& val); template<class P> pair<iterator, bool> insert(P&& val); //dalla C++ 11 con suggerimento (2) iterator insert(const_iterator position, const value_type& val); template<class P> iterator insert(const_iterator position, P&& val); intervallo (3) template<class InputIterator> void insert(InputIterator first, InputIterator last); //dalla C++ 11 initializer list (4) void insert(initializer_list<value_type> il); //dalla C++ 11
val:chiave e valore da inserire nella mappa.
position:posizione da inserire l'elemento.
first:inizio dell'intervallo da inserire.
last:fine dell'intervallo da inserire.
il:inizializzazione della lista.
Restituisce un pair<bool, iterator> per indicare se l'inserimento è avvenuto e restituisce un iterator al nuovo elemento inserito.
Ecco un esempio semplice di inserimento di elementi in una mappa.
#include <iostream> #include <map> using namespace std; int main() { map<char, int> m = { {'a', 1}, {'b', 2}, {'c', 3}, }; //inserimento di un nuovo elemento m.insert(pair<char, int>('d', 4)); m.insert(pair<char, int>('e', 5)); cout << "La mappa contiene i seguenti elementi" << endl; for (auto it = m.begin(); it != m.end(); ++it) cout << it->first << " = " << it->second << endl; return 0; }
输出:
包含以下元素Map a = 1 b = 2 c = 3 d = 4 e = 5
Nell'esempio sopra, viene inserito semplicemente un elemento con il pair di chiave valore dato.
Vediamo un esempio semplice di inserimento di elementi in posizioni specifiche:
#include <iostream> #include <map> using namespace std; int main(void) { map<char, int> m = { {'b', 2}, {'c', 3}, {'d', 4}, }; // Inserisci gli elementi al posto dato m.insert(m.begin(), pair<char, int>('a', 1)); m.insert(m.end(), pair<char, int>('e', 5)); cout << "La mappa contiene i seguenti elementi" << endl; for (auto it = m.begin(); it != m.end(); ++it) cout << it->first << " = " << it->second << endl; return 0; }
输出:
包含以下元素Map a = 1 b = 2 c = 3 d = 4 e = 5
Nell'esempio sopra, gli elementi vengono inseriti nei posti definiti, ovvero nell'elemento iniziale {'a', 1} e nell'elemento finale {'e', 5}.
Vediamo un esempio semplice di inserimento di elementi di una mappa in un'altra mappa.
#include <iostream> #include <map> using namespace std; int main() { map<char, int> m1 = { {'a', 1}, {'b', 2}, {'c', 3}, {'d', 4}, {'e', 5}, }; map<char, int> m2; // Crea una nuova cerniera m2 m2.insert(m1.begin(), m1.end()); // Inserisci gli elementi da m1 a m2 dall'inizio alla fine cout << "La mappa contiene i seguenti elementi" << endl; for (auto it = m2.begin(); it != m2.end(); ++it){ cout << it->first << " = " << it->second << endl; } return 0; }
输出:
包含以下元素Map a = 1 b = 2 c = 3 d = 4 e = 5
Nell'esempio sopra, la cerniera m1 ha cinque elementi, mentre la cerniera m2 è vuota. La funzione insert() viene utilizzata per inserire gli elementi da m1 all'inizio a m1 alla fine in m2 e visualizzare il contenuto della cerniera m2.
Vediamo un semplice esempio di inserimento di elementi.
#include <iostream> #include <map> using namespace std; int main(void) { map<int, string> m = { {1, "Java"}, {2, "C++"}, {3, "SQL"}, }; m.inserisci({{4,"VB"}, {5, "Oracle"}}); cout << "Map 包含以下元素" << endl; for (auto it = m.begin(); it != m.end(); ++it){ cout << it->first << " : " << it->second << endl; } return 0; }
输出:
包含以下元素Map 1 : Java 2 : C++ 3 : SQL 4 : VB 5 : Oracle
在上述示例中,使用了另一种形式的insert()函数将元素插入到map中。