在映射中插入元素| C ++ STL

map是关联容器。映射以一对键值的形式存储元素,并且已映射的值和键值以排序的方式存储。在map中插入元素所需的时间通常为O(logn)。有多种方法可以在map中插入元素,本文讨论了一些方法。

1)使用insert()方法

std :: map :: insert()函数是C ++ STL中的内置函数,用于在map中插入元素。我们可以通过以下方式使用此功能:

  • insert(pair):在map中插入一对。

  • insert(pos,pair):在map中的指定位置插入一个对。

  • insert(beg,end):用于将一个map的内容复制到另一个。

示例

#include <iostream> 

#include <map> 

using namespace std; 

  

int main() {

    map< char, int > myMap; 

      

    //声明迭代器 

    map<char, int>::iterator it ; 

    map<char, int>::iterator it1;

 

  //插入(对)示例

    myMap.insert( pair<char, int>('P', 100) ); 

      

    //插入后打印映射元素 

    cout << "The elements of map after insertion : \n"; 

      

    for (it1 = myMap.begin(); it1!=myMap.end(); ++it1) 

        cout << it1->first << "  :  " << it1->second << endl; 

      

    it = myMap.begin(); 

      

    //insert(pos,pair)的示例 

    //通过指定位置插入map对

    myMap.insert(it, pair<char, int>('Q', 101) ); 

      

    cout << endl ; 

      

    //插入后map中的元素

    cout << "The elements of map after insertion using insert(pos, pair) : \n"; 

      

    for (it1 = myMap.begin(); it1!=myMap.end(); ++it1) 

        cout << it1->first << "  :  " << it1->second << endl; 

      

    //初始化另一个map  

    map<char, int> myMap2; 

      

    //使用insert(beg_iter,end_iter)复制所有元素 

    myMap2.insert(myMap.begin(), myMap.end()); 

      

    cout << endl ; 

      

    //map的打印元素

    cout << "The elements of new map after using insert(beg_iter, end_iter) : \n"; 

      

    for (it1 = myMap2.begin(); it1!=myMap2.end(); ++it1) 

        cout << it1->first << "  :  " << it1->second << endl; 

     

return 0;  

}

输出结果

The elements of map after insertion :

P  :  100

The elements of map after insertion using insert(pos, pair) :

P  :  100

Q  :  101

The elements of new map after using insert(beg_iter, end_iter) :

P  :  100

Q  :  101

以上是 在映射中插入元素| C ++ STL 的全部内容, 来源链接: utcz.com/z/330801.html

回到顶部