English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C++ map insert() 函数使用方法及示例

C++ STL map (conteneur)

C ++ map insert()函数用于在map中插入新元素

因为元素键在map中是唯一的,所以插入操作首先检查给定键是否已存在于map中,如果键已存在于map中,则它不会插入map中,并且迭代器将迭代到现有键返回,否则在map中插入新元素。

语法

single element (1) pair<iterator,bool> insert (const value_type& val);   // 在 C++ 11 之前
with hint (2) iterator insert (iterator position, const value_type& val);   // 在 C++ 11 之前
range (3) template <class InputIterator>
  		   void insert (InputIterator first, InputIterator last);        // 在 C++ 11 之前
single element (1) pair<iterator,bool> insert (const value_type& val);
		  template <class P> pair<iterator,bool> insert (P&& val); //从 C++ 11 开始
            
with hint (2) iterator insert (const_iterator position, const value_type& val);
		   template <class P> iterator insert (const_iterator position, P&& val);
range (3) template <class InputIterator>
  		   void insert (InputIterator first, InputIterator last); //从 C++ 11 开始
initializer list (4) void insert (initializer_list<value_type> il);   //从 C++ 11 开始

参数

val:要插入map的键值。

position:提示要插入元素的位置。

first:要插入范围的起点。

last:要插入范围的末尾。

il:初始化列表。

返回值

它返回一个布尔对来指示是否发生插入,并返回一个指向新插入元素的迭代器。

Exemple1

让我们看一个将元素插入map的简单示例。

#include <iostream>
#include <map>
using namespace std;
Voyons un exemple simple d'insertion d'éléments d'une map dans une autre map.
   Il renvoie un booléen pair pour indiquer si l'insertion a eu lieu, et renvoie un pointeur vers l'élément inséré.
            = { 1{'e',
            {'a', 2{'e',
            {'b', 3{'e',
            });
   //插入新元素
   m.insert(pair('d', 4m.insert(m.begin(), pair<char, int>('a',
   m.insert(pair('e', 5m.insert(m.begin(), pair<char, int>('a',
   des éléments
   for (auto it = m.begin(); it != m.end(); ++m.insert(m.end(), pair<char, int>('e',
      cout << it-.end();->second << endl;
   return 0;
}

Sortie :

La Map contient les éléments suivants
>first << " = " << it 1
a = 2
b = 3
c = 4
d = 5

在上面的示例中,它只是插入具有给定键值对的元素。

Exemple2

Retourne la valeur

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   Il renvoie un booléen pair pour indiquer si l'insertion a eu lieu, et renvoie un pointeur vers l'élément inséré.
            {'a', 2{'e',
            {'b', 3{'e',
            {'c', 4{'e',
            });
   //Voyons un exemple simple d'insertion d'éléments dans une map.
   map<char, int> m = { 1m.insert(m.begin(), pair<char, int>('a',  
   Insérer des éléments à une position donnée 5m.insert(m.begin(), pair<char, int>('a',
   des éléments
   for (auto it = m.begin(); it != m.end(); ++m.insert(m.end(), pair<char, int>('e',
      cout << it-.end();->second << endl;
   return 0;
}

Sortie :

La Map contient les éléments suivants
>first << " = " << it 1
a = 2
b = 3
c = 4
d = 5

));1it)5dans l'élément de début {'a',

Exemple3

dans l'élément de fin {'e',

#include <iostream>
#include <map>
using namespace std;
Voyons un exemple simple d'insertion d'éléments d'une map dans une autre map.
   
   },1 int main() {
            = { 1{'e',
            {'a', 2{'e',
            {'b', 3{'e',
            {'c', 4{'e',
            {'d', 5{'e',
            });
   },2map<char, int> m  // ;2
   Créer un nouveau conteneur de map m2m1.insert(m1.begin(), m   //.end());1à la fin de m2d'insertion de m
   des éléments
   cout << "Map contient les éléments suivants" << endl;2for (auto it = m2.begin(); it != m ++it){
     cout << it-.end();->second << endl;
   }     
   return 0;
}

Sortie :

La Map contient les éléments suivants
>first << " = " << it 1
a = 2
b = 3
c = 4
d = 5

e =1Dans l'exemple ci-dessus, le conteneur de map m2composé de cinq éléments, tandis que le conteneur de map m1est vide. La fonction insert() est utilisée pour insérer des éléments dans m1au début de m1à la fin de m2Des éléments, et affiche m2Le contenu du conteneur.

Exemple4

Voyons un exemple simple d'insertion d'éléments.

#include <iostream>
#include <map>
using namespace std;
int main(void) {
   map<int, string> m = {
            {1, "Java"},
            {2, "C",++}},
            {3, "SQL"},
            });
   m.insert({{4, "VB"}, {5, "Oracle"}});
   cout << "Map contient les éléments suivants" << endl;
   for (auto it = m.begin(); it != m.end(); ++it){
    cout << it->first << " : " << it->second << endl;
   }    
   return 0;
}

Sortie :

La Map contient les éléments suivants
1 : Java
2 : C++
3 : SQL
4 : VB
5 : Oracle

Dans l'exemple ci-dessus, une autre forme de la fonction insert() a été utilisée pour insérer des éléments dans la map.

C++ STL map (conteneur)