C++教程
C++控制语句
C++函数
C++数组
C++指针
C++对象
C++继承
C++多态
C++抽象
C++常用
C++ STL教程
C++迭代器
C++程序

C++ multimap insert()

C++ multimap insert()函数

C++ multimap insert()用于将一个元素或元素范围插入 multimap 。 p>

语法

single element (1)     pair<iterator,bool> insert (const value_type& val);   //until C++ 11
 hint (2)          iterator insert (iterator position, const value_type& val);   //until C++ 11
range (3) template <class InputIterator>
         void insert (InputIterator first, InputIterator last);        //until C++ 11
single element (1)  pair<iterator,bool> insert (const value_type& val);
      template <class P> pair<iterator,bool> insert (P&& val); //since C++ 11
            
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); //since C++ 11
initializer list (4)  void insert (initializer_list<value_type> il);   //since C++ 11

参数

val : 要插入 multimap 的键值。
position: 提示要插入元素的位置。
first: 要插入范围的开始。
last: 范围的结束插入。
il : 初始化列表。

返回值

如果插入单个元素,则
或者如果元素带有提示插入,则返回一个迭代器,该迭代器指向将新元素插入到multimap中的位置。 multimap 。

复杂度

如果插入单个元素,复杂度将为对数。 如果给出了提示并且给出的位置是最佳位置,则复杂度将摊销为常数。

迭代器有效性

没有更改。

数据竞争

容器已修改。

异常安全

此函数不会引发异常。

示例1

让我们参见将元素插入 multimap 的简单示例:
#include <iostream>
#include <map>
using namespace std;
int main() {
   multimap<char, int> m = {
            {'a', 1},
            {'b', 2},
            {'c', 3},
            };
   // inserting new element
   m.insert(pair<char, int>('b', 4));
   m.insert(pair<char, int>('c', 5));
   cout << "Multimap contains following elements" << endl;
   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;
   return 0;
}
输出:
Multimap contains following elements
a = 1
b = 2
b = 3
c = 4
c = 5
在上面的示例中,它只是插入具有给定键值对的元素。

示例2

让我们看一个简单的示例来插入元素位于指定位置:
#include <iostream>
#include <map>
using namespace std;
int main(void) {
   multimap<char, int> m = {
            {'b', 2},
            {'c', 3},
            {'d', 4},
            };
   //inserting element with the given position
   m.insert(m.begin(), pair<char, int>('a', 1));  
   m.insert(m.end(), pair<char, int>('d', 5));
   cout << "Multimap contains following elements" << endl;
   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " = " << it->second << endl;
   return 0;
}
输出:
Multimap contains following elements
a = 1
b = 2
c = 3
d = 4
d = 5
在上面的示例中,将元素插入到定义的位置,即,在开始元素{'a',1}中插入元素,并在结束元素{'d',5}中插入。

示例3

让我们看一个简单的示例,将一个 multimap 的元素插入到另一个:
#include <iostream>
#include <map>
using namespace std;
int main() {
   
   multimap<char, int> m1 = {
            {'a', 1},
            {'b', 2},
            {'a', 3},
            {'d', 4},
            {'b', 5},
            };
multimap<char, int> m2;  // creating new multimap m2
m2.insert(m1.begin(), m1.end());   //inserting the elements of m1 to m2 from begin to end
   cout << "Multimap contains following elements" << endl;
   for (auto it = m2.begin(); it != m2.end(); ++it)
      cout << it->first << " = " << it->second << endl;
   return 0;
}
输出:
Multimap contains following elements
a = 1
a = 3
b = 2
b = 5
d = 4
在上面的示例中, multimap m1具有五个元素,而 multimap m2为空。 insert()用于从m1的开头到m1的结尾插入m1到m2的元素,并显示m2 multimap 的内容。

示例4

让我们看一个插入元素的简单示例:
#include <iostream>
#include <map>
using namespace std;
int main() {
   multimap<int , string> m = {
            {1, "Java"},
            {2, "C++"},
            {3, "SQL"},
            };
   m.insert({{4,"VB"}, {3, "Oracle"}});
   cout << "Multimap contains following elements" << endl;
   for (auto it = m.begin(); it != m.end(); ++it)
      cout << it->first << " : " << it->second << endl;
   return 0;
}
输出:
Multimap contains following elements
1 : Java
2 : C++
3 : SQL
3 : Oracle
4 : VB
在上面的示例中,使用另一种形式的insert()函数将元素插入到 multimap 中。
昵称: 邮箱:
Copyright © 2022 立地货 All Rights Reserved.
备案号:京ICP备14037608号-4