C++ 基礎(chǔ)教程

C++ 流程控制

C++ 函數(shù)

C++ 數(shù)組 & 字符串

C++ 數(shù)據(jù)結(jié)構(gòu)

C++ 類 & 對(duì)象

C++ 指針

C++ 繼承

C++ STL 教程

C++ 參考手冊(cè)

C++ map insert() 函數(shù)使用方法及示例

C++ STL map(容器)

C ++ map insert()函數(shù)用于在map中插入新元素。

因?yàn)樵劓I在map中是唯一的,所以插入操作首先檢查給定鍵是否已存在于map中,如果鍵已存在于map中,則它不會(huì)插入map中,并且迭代器將迭代到現(xiàn)有鍵返回,否則在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 開始

參數(shù)

val:要插入map的鍵值。

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

first:要插入范圍的起點(diǎn)。

last:要插入范圍的末尾。

il:初始化列表。

返回值

它返回一個(gè)布爾對(duì)來指示是否發(fā)生插入,并返回一個(gè)指向新插入元素的迭代器。

實(shí)例1

讓我們看一個(gè)將元素插入map的簡單示例。

#include <iostream>
#include <map>

using namespace std;

int main() {
   map<char, int> m = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            };

   //插入新元素
   m.insert(pair<char, int>('d', 4));
   m.insert(pair<char, int>('e', 5));

   cout << "Map包含以下元素" << 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

在上面的示例中,它只是插入具有給定鍵值對(duì)的元素。

實(shí)例2

讓我們看一個(gè)簡單的示例,將元素插入指定位置:

#include <iostream>
#include <map>

using namespace std;

int main(void) {
   map<char, int> m = {
            {'b', 2},
            {'c', 3},
            {'d', 4},
            };

   //以給定的位置插入元素
   m.insert(m.begin(), pair<char, int>('a', 1));  
   m.insert(m.end(), pair<char, int>('e', 5));

   cout << "Map包含以下元素" << 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

在上面的示例中,將元素插入到定義的位置,即在開始元素{'a',1}中插入元素,在結(jié)束元素{'e',5}中插入元素。

實(shí)例3

讓我們看一個(gè)簡單的示例,將一個(gè)map的元素插入另一個(gè)map。

#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;  // 創(chuàng)建新的map容器 m2
   m2.insert(m1.begin(), m1.end());   //從頭到尾插入m1到m2的元素

   cout << "Map包含以下元素" << 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

在上面的示例中,map容器m1具有五個(gè)元素,而map容器m2為空。insert()函數(shù)用于從m1的開頭到m1的結(jié)尾插入m1到m2的元素,并顯示m2容器的內(nèi)容。

實(shí)例4

讓我們看一個(gè)插入元素的簡單示例。

#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 包含以下元素" << 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()函數(shù)將元素插入到map中。

C++ STL map(容器)

丰满人妻一级特黄a大片,午夜无码免费福利一级,欧美亚洲精品在线,国产婷婷成人久久Av免费高清