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